Back-end/Server

(nginx) 가상호스트 연결 방법

개발자 케빈 2021. 8. 1. 15:42

nginx 가상호스트 연결 방법

 

설명)

/etc/nginx/nginx.conf

nginx 설치 시 다음 경로에 설정 파일이 존재한다.

 

구조)

http {
    ... 
    ...
    server {
        listen 80 ...
        listen [::]80 ...
        server_name .....
        root .....
    }
}

 

; http 블록 아래 다수의 server 블록이 존재한다.

server 블록이 가상 호스트의 개념이다.

 

server 블록에서 해당 서버에 어떤 호스트 네임과 포트 번호로 들어왔는 지에 따라, 내가 원하는 디렉토리로 연결시켜 줄 수 있다.

이를 활용하면, 한 서버에서 여러 사이트를 운영할 수 도 있고, 다른 도메인으로 접속을 해도 한 사이트를 보여줄 수도 있다.

 

* 다수의 server 블록 중 순서대로 위에서부터 확인한다.

-> 상위 server 블록에서 해당 조건을 만족하는 port와 호스트 네임으로 접근했으면 하위에 만족하는 server 블록이 있더라도 상위의 server 블록이 실행된다.

 

----------------------------------------------------------------------------------------------------------------------------------

- listen : 포트 설정

- server_name : 어떤 도메인을 통해 접속했는 지

- server_token on/off : nginx를 어떤 버전 사용했는 지 노출 여부

* 만약 on을 했다면 해당 nginx를 어떤 버전을 사용했는 지 노출한다.

(버전을 노출하게 된다면 악의적으로 공격하는 침입자에게 버전에 따른 취약점도 노출되기 때문에 off를 해놓는 것이 좋다.)

- access_log : 해당 경로에 nginx 접속 로그를 남긴다.

(해당 접속 로그를 통해 클라이언트가 서버에러가 났을 경우 어느 루트에서 오류가 나고있는 지 역추적 할 수 있음)

- error_log : 해당 경로에 nginx 에러 로그를 남긴다.

 

-----------------------------------------------------------------------------------------------------------------------------------

* 설정 파일을 변경했으면

; service nginx reload

를 통해 설정 파일을 reload 해준다.