WAS

Apache httpd 2.4 virutalhost, reverseproxy 설정 (location, IP 제한 등)

Lawmin 2017. 10. 19. 14:05

1. httpd.conf 수정 (주석처리 해제: 첫 # 글자 삭제)

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_http_module modules/mod_proxy_http.so


# Virtual hosts

Include conf/extra/httpd-vhosts.conf


2. extra/httpd-vhosts.conf 수정 (reverseproxy 설정 + location별 IP 제한)

<VirtualHost _default_:80>

    DocumentRoot "${SRVROOT}/htdocs"

    ProxyRequests Off

    ProxyPreserveHost On

    <Location /nagios>

        Require ip 허용할IP1 허용할IP2

    </Location>

    <Location /nagiosgraph>

        Require ip 허용할IP1 허용할IP2

    </Location>

    ProxyPass /nagios http://실제서버IP/nagios

    ProxyPassReverse /nagios http://실제서버IP/nagios

    ProxyPass /nagiosgraph http://실제서버IP/nagiosgraph

    ProxyPassReverse /nagiosgraph http://실제서버IP/nagiosgraph

</VirtualHost>


※ 허용할 IP는 space 로 구분하여 추가 가능,
1) IP 제한하지 않는 다면 Require ip 대신 Require all granted
2) 모두 차단한다면 Require all denied

※ Location, ProxyPass, ProxyPassReverse 는 필요한 만큼 추가 가능 (순서대로 적용, 즉, 마지막것이 유효)

※ Location과 Directory(File)의 차이 (구분하여 사용)
1) Location은 파일시스템에 존재하지 않는 논리적 경로 (URL)
2) Directory 및 File은 파일시스템에 존재하는 경로
    (기본 하위 옵션으로 Options None 및 AllowOverride None 을 줘서 보안설정을 추가로 한다.)

(참고) https://httpd.apache.org/docs/current/mod/core.html#location


※ httpd 2.2 의 경우 아래와 같이 적용

Order Allow,Deny

Allow from 허용할IP