본문 바로가기
Apache

[ Apache ] Proxy 환경에서 client ip 확인 (X-Forwarded-For)

by 정윤재 2020. 4. 17.

Apache 를 사용하는 Proxy 환경에서 최종 client ip 를 확인 하기 위해 

http header규격인 X-Forwarded-For 를 사용하여 apache 의 access log 로

출력 해 보았습니다.

 

제가 테스트를 해본 환경은 아래와 같습니다. 

위의 환경에서 Apache Service Server 에 X-Forwarded-For 라는 header 로 

client pc 의 ip 를 출력 하는 예제 입니다.

호출은 client pc 브라우저에서  http://192.168.101.1/ 로 하였습니다.

 

1. Apache Proxy Server (192.168.101.1) 설정

- httpd.conf ($APACHE_HOME/conf)

  LoadModule proxy_module modules/mod_proxy.so

  LoadModule proxy_http_module modules/mod_proxy_http.so 

  Include conf/extra/httpd-vhosts.conf

- httpd-vhosts.conf ($APACHE_HOME/conf/extra)

 <VirtualHost *:80>

   ServerAdmin shonm@naver.com
   DocumentRoot "${SRVROOT}/htdocs"
   ServerName DESKTOP-PNOJ4TS
   ErrorLog "logs/proxy-error.log"
   CustomLog "logs/proxy-access.log" common

   ProxyRequests Off
   ProxyPreserveHost On
   ProxyPass / http://192.168.101.128/
   ProxyPassReverse / http://192.168.101.128/

 </VirtualHost>

 

2. Apache Service Server (192.168.101.128) 설정

- httpd.conf ($APACHE_HOME/conf)

  Include conf/extra/httpd-vhosts.conf 

- httpd-vhosts.conf ($APACHE_HOME/conf/extra)

  <VirtualHost *:80>

    DocumentRoot "C:/Apache24/htdocs"
    ServerName WIN-8N3CE2RSUAL
    ErrorLog "logs/proxy2-error.log"
    LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
    CustomLog "logs/proxy2-access.log" proxy

       <Directory "C:/Apache24/htdocs">

          Require all granted

       </Directory>

    </VirtualHost>

 

3. Apache Service Server 의 access log (proxy2-error.log 파일 내용)

192.168.101.130 - - [17/Apr/2020:00:31:50 +0900] "GET / HTTP/1.1" 200 50 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"
192.168.101.130 - - [17/Apr/2020:00:31:50 +0900] "GET / HTTP/1.1" 200 50 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"
192.168.101.130 - - [17/Apr/2020:00:31:51 +0900] "GET / HTTP/1.1" 200 50 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"

 

bold 체 굵은 글씨가 X-Forwarded-For 값 으로서 client pc 의 ip를 보여줍니다.

'Apache' 카테고리의 다른 글

[ Apache ] Linux 에서 Apache 설치  (0) 2019.10.22

댓글