티스토리 뷰

Linux

mod_proxy 설정

초보의 CHOMAN 2017.09.12 08:52

mod_proxy 설정




목적



Apache 웹서비스로 간단하게 프록시 서비스를 구현하는 설정이다.


Apache 를 프록시로 사용하는 이유중에 하나는 Apache 모듈의 기능을 이용할 수 있는것인데


Mod_Security 를 mod_proxy 와 같이 설정하여 웹방화벽 기능을 제공 할 수도 있다.

 




셋팅 환경



CentOS 7.X 64bit


HTTP (RPM) + MOD SSL (RPM) + Lets Encrypt SSL 인증서 + MOD_PROXY (기본 모듈 내장되어 있음)


테스트 도메인 : test.kensei.co.kr


DNS A Record 변경작업 필요 : mod_proxy 를 설정한 서버 아이피로 변경 필요

 




서비스 (테스트) 구조



요청 : Client --> MOD_PROXY (프록시) --> 웹서버


응답 : 웹서버 --> MOD_PROXY (프록시) --> Client

 




커널 패킷 포워딩 설정


/etc/sysctl.conf



 net.ipv4.ip_forward = 1





/etc/httpd/conf/httpd.conf


 

<Directory />

    AllowOverride none

#    Require all denied

    Require all granted

</Directory>





/etc/httpd/conf.d/vhost.conf (HTTP 프록시 설정)


 

<VirtualHost *:80>

ServerName test.kensei.co.kr

ProxyPass / http://test.kensei.co.kr/

ProxyPassReverse / http://test.kensei.co.kr/

</VirtualHost>





/etc/httpd/conf.d/ssl.conf (HTTPS 프록시 설정)



<VirtualHost *:443>

        ServerName test.kensei.co.kr:443

        SSLEngine on

        ProxyPass / https://test.kensei.co.kr/

        ProxyPassReverse / https://test.kensei.co.kr/

        SSLProxyEngine on

        SSLCertificateFile "/root/test.kensei.co.kr/cert.pem"

        SSLCertificateKeyFile "/root/test.kensei.co.kr/privkey.pem"

        SSLCertificateChainFile "/root/test.kensei.co.kr/chain.pem"

</VirtualHost>

 


: 웹 서버의 인증서 파일을 MOD_PROXY 를 설정한 서버로 복사해야 한다




위에서 DNS A RECORD 변경 되므로 프록시 서버는 test.kensei.co.kr 의 도메인을 찾을수 없으므로 아래와 같이 설정


/etc/hosts 수정



127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6


# 아이피 도메인

12x.45.67.xx test.kensei.co.kr

 



비교적 간단하게 프록시 서버 설정을 할 수 있다.


/etc/hosts


172.16.0.209 wp.kensei.co.kr


<VirtualHost *:80>

ServerName wp.kensei.co.kr

#alias /waf https://master1.kuipernet.co.kr/

#ProxyPass / http://wp.kensei.co.kr/

#ProxyPassReverse / http://wp.kensei.co.kr/

ProxyPass / http://172.16.0.209/

ProxyPassReverse / http://172.16.0.209/

</VirtualHost>



<VirtualHost *:443>

        ServerName wp.kensei.co.kr:443

        ProxyPass / https://wp.kensei.co.kr:443/

        ProxyPassReverse / https://wp.kensei.co.kr:443/

        SSLCertificateFile "/root/wp.kensei.co.kr/cert3.pem"

        SSLCertificateKeyFile "/root/wp.kensei.co.kr/privkey3.pem"

        SSLCertificateChainFile "/root/wp.kensei.co.kr/chain3.pem"

</VirtualHost>

댓글
댓글쓰기 폼