프로그래밍/서버, DBMS

[서버] 도메인으로 NginX에서 Reverse Proxy 설정하기

포도알77 2020. 12. 12. 14:52

도메인으로 NginX에서 Reverse Proxy 설정하기

 

1. site conf 만들기

 /etc/nginx/site-available 내부에 있는 default configuration을 site 도메인 이름으로 카피해보자.

sudo cp /etc/nginx/site-available/default /etc/nginx/site-available/play.it-trip.com

 

2. site conf 수정하기

 자신이 사용하는 편집기를 이용하여, play.it-trip.com의 conf 파일을 수정하자.

server {
        listen 80;
        listen [::]:80;

        root /var/www/html;

        # 서버 도메인을 작성하면 된다.
        # 만약 여러개라면 공백을 두고 작성하자
        # ex) server_name it-trip.com www.it-trip.com;
        server_name play.it-trip.com;

        location / {
                # 프록시 설정이다.
                # 이제 도메인으로 들어오는 
                # 모든 요청은 5555 port로 Relay된다.
                proxy_pass http://127.0.0.1:5555;
        }
}

 

3. site enable 시키기

 NginX는 Apache2와 다르게 site enable 모듈을 사용하지 않고, 심볼릭 링크로 enabled에 연결해주면 된다.

ln -s /etc/nginx/site-available/play.it-trip.com /etc/nginx/site-enabled/play.it-trip.com

 

4. NginX conf reload 하기

 NginX에서 가장 좋은 점은 Site Conf가 바뀌더라도 Restart를 할 필요가 없다는 점이다. 아래의 명령을 통하여 nginx를 reload하자.

sudo service nginx reload

 

5. 기타 정보 필요 설정들

 NginX의 proxy로 요청을 릴레이하게 되면 연결된 서버상에서는 nginx가 client가 되므로 127.0.0.1으로 사용자 IP가 출력된다. 이 IP를 정확하게 확인할 수 있도록 header를 추가할 수 있고, 혹은 버퍼의 크기를 조절하는 등의 추가적인 설정을 할 수 있다.

location / {
    proxy_buffers 16 4k;
    proxy_buffer_size 2k;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}

 

페이스북으로 공유카카오톡으로 공유카카오스토리로 공유트위터로 공유URL 복사