각종 테스트의 희생양으로 개인 서버에 웹서버만 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 포트로 접근할 수 없도록 방화벽에서 예외 설정을 제거한다. 이 후, 웹브라우저로 정상적으로 접속이 되는지 확인한다.
'서버 > 리눅스' 카테고리의 다른 글
collectd df 플러그인 사용하기 - CentOS (0) | 2013.05.21 |
---|---|
nginx reverse proxy 구축기 - 2 - CodeBeamer 연동하기 (0) | 2013.05.10 |
Windows collectd 클라이언트(SSC Serv), CentOS collectd 서버 구성 (0) | 2013.05.10 |
VMware Server 2.0.2 설치하기 - CentOS 5.9 (가상화 서버 구축) (0) | 2013.05.10 |
nginx mp4 pseudo streaming 설정 - Cent OS (0) | 2013.05.03 |
댓글