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