X-Forwaded-For 헤더로 Clinet IP를 전달 받으려면,

 mod_myfixip 이외에 mod_rpaf 모듈을 이용할 수도 있다.

 Apache 2.0 / 2.2 와 Apache 2.4는 모듈 컴파일할 소스와 설정값이 조금 다르니, 구분하여 설정이 필요하다.

 

 Apache 2.0/2.2 : https://github.com/y-ken/mod_rpaf

 Apache 2.4: https://github.com/gnif/mod_rpaf

 

 각 링크에서 mod_rpaf-2.0.c (Apache 2.0/2.2)또는 mod_rpaf.c (Apache 2.4)를 복사하거나 저장한다.

 서버에 저장 후, Apache의 bin 폴더에서 apxs를 이용하여서 다음과 같이 모듈 생성을 진행한다.

 

 Apache 2.0/2.2:  apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

 Apache 2.4:  apxs -i -c -n mod_rpaf.so mod_rpaf.c

 

 모듈이 생성이 되면, httpd.conf에 다음과 같이 설정하여 모듈을 로드한다.

  Apache 2.0/2.2: 

  LoadModule rpaf_module        modules/mod_rpaf-2.0.so 

  Apache 2.4:

  LoadModule rpaf_module        modules/mod_rpaf.so 

 

  위 설정 후, 아래와 같이 httpd.conf에 Proxy되는 IP 대역을 추가하여 설정한다.

  Apache 2.0/2.2:   

RPAFenable On
RPAFproxy_ips 10.10.
RPAFheader X-Forwarded-For
RPAFsethostname Off
RPAFsethttps    Off
RPAFsetport     Off

 

  Apache 2.4:  

RPAF_Enable       On
RPAF_ProxyIPs     10.10.
RPAF_Header       X-Forwarded-For
RPAF_SetHostName  Off
RPAF_SetHTTPS     Off
RPAF_SetPort      Off
 

 

 httpd.conf에서 LogFormat에 다음과 같이 설정한다.

LogFormat "%{X-Forwarded-For}i