-
Virtual Host
-
conf 파일의 server_name 지시어
Server names
-
같은 포트가 같은 server_name을 가지면 nginx에서는 나중에 선언된 블록을 무시
(경고를 출력하지만 실행은 됨) 👉 우리는 그냥 첫 번째 블록을 가져오는 걸로
-
Host 헤더와 일치하는 server_name이 없는 경우 같은 포트를 가진 서버 블록 중 가장 위에 있는 블록(디폴트 블록) 사용
What is the difference between server_name _ and server_name "" in Nginx?
How nginx processes a request
Todos
conf
- [x] 포트들을 추가하는 setter(set<int> 형식)
- [x] 추가된 포트들을 가져오는 getter(set<int> 형식)
- [x] 인수로 넘긴 port 번호와 server_name에 해당하는(== serverBlock과 URI 기준으로) serverBlock 가져오는 getter
getServerBlock(const int &port, const string &serverName)
- 만약에, 인수로 넘긴 server_name이 없다면 해당 port의 가장 첫번째 block을 반환함
master
- [x] serverBlock 벡터가 아니라 port Set을 기준으로 Master 생성 (Master가 serverBlock을 멤버로 갖지 않음)
worker
- [ ] 요청 메시지를 해석한 후, Host 헤더에 있는 값으로 serverBlock 설정 가져오기(getServerBlock)
- [ ] 위에서 얻은 serverBlock을 기준으로 locationBlock 얻기 (이미 구현되어 있음..?)