본문 바로가기
서버/리눅스

nginx reverse proxy 구축기 - 1 - 아파치 이전하기

by 사악신 2013. 5. 10.


각종 테스트의 희생양으로 개인 서버에 웹서버만 4개가 설치되었다. 잡다한 포트 설정 및 기타 보안적인 이슈도 있고하여, nginx reverse proxy 를 통해 일괄 정리하기로 마음 먹었다. 물론 이 놈도 웹서버지만... ㅋㅋ 우선 nginx 를 설치(2013/05/03 - [프로그래밍/서버관리] - nginx 설치하기 - CentOS 5.x)하였다.


1. 포트 변경

현재, 아파치가 사용하는 포트가 80이고 nginx 가 테스트 겸 8080 을 사용하고 있다. 서로 사용 포트를 변경할 필요가 있겠다. 아파치와 nginx 데몬을 종료한 후,


#/etc/rc.d/init.d/httpd stop

#/etc/rc.d/init.d/nginx stop


nginx 의 포트 설정을 80으로 변경한다.


#vi /etc/nginx/conf.d/default.conf


server {

    listen       80;


2. Reverse Proxy 설정


이후, 아파치를 8080 포트에 띄울 계획이니 해당 포트로 전달하도록 변경한다.


    location / {

        proxy_pass_header Server;

        proxy_set_header Host $http_host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Scheme $scheme;

        proxy_pass http://127.0.0.1:8080;

    }


nginx 데몬을 실행한다.


#/etc/rc.d/init.d/nginx start


웹브라우저로 접속을 시도하면, 아래와 같은 에러 메시지가 출력된다.



3. 아파치 설정 변경


우선 기본 포트를 8080 으로 변경한다.


#vi /etc/httpd/conf/httpd.conf


#Listen 12.34.56.78:80

Listen 8080



#

# Use name-based virtual hosting.

#

NameVirtualHost 127.0.0.1:8080


만약, VirtualHost 설정을 사용하고 있다면, 해당 설정의 IP 와 포트를 변경해준다.


#vi /etc/httpd/conf/virtual.conf


<VirtualHost 127.0.0.1:8080>


아파치를 실행한다.


4. collectd 설정 변경


nginx 관련 설정(포트 변경)을 변경한다.


#vi /etc/collectd.d/nginx.conf


<Plugin nginx>

        URL "http://localhost:80/status?auto"

#       User "www-user"

#       Password "secret"

#       CACert "/etc/ssl/ca.crt"

</Plugin>


apache 관련 설정(포트 변경)을 변경한다.


<Plugin apache>

        URL "http://localhost:8080/server-status?auto"

#       User "www-user"

#       Password "secret"

#       CACert "/etc/ssl/ca.crt"

</Plugin>


collectd 를 재실행한다.


#/etc/rc.d/init.d/collectd restart


5. 방화벽 설정 변경


외부에서 8080 포트로 접근할 수 없도록 방화벽에서 예외 설정을 제거한다. 이 후, 웹브라우저로 정상적으로 접속이 되는지 확인한다.




반응형

댓글