Coolx World - Computer ???
HAProxy IP 전달 관련 (mod_rpaf 설치) (Linux)
2017-12-20 12:19 - swindler
일반적으로는 웹서버에서 access log를 확인하면
client ip가 아니라, haproxy 서버 ip가 출력된다.

일단 defaults 섹션에
option forwarfor
를 설정하면, 클라이언트 정보를 전달하게 된다.


첫번째 방법으로는 header의 X-Forwarded-For 를 출력하도록 로그 포맷을 변경한다.
apache LogFormat에서 %h -> %{X-Forwarded-For}i 로 수정.


두번재로는 mod_rpaf 모듈을 설치하여 HTTP 헤더 자체를 변경하는 방법이다.


- mod_rpaf : http://www.stderr.net/apache/rpaf

$ wget http://www.stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
$ tar zxvf mod_rpaf-0.6.tar.gz
$ cd mod_rpaf-0.6
$ apxs -i -c -n mod_rpaf.so mod_rpaf.c
$ vi /etc/httpd/conf/httpd.conf

LoadModule rpaf_module modules/mod_rpaf.so

<IfModule rpaf_module>

RPAF_Enable On
RPAF_SetHostNAme On
RPAF_ProxyIPs {haproxy서버 아이피}
RPAF_Header X-Forwarded-For

## 여러 아이피를 지정할 경우 스페이스 후에 연속하여 기술
## RPAF_ProxyIPs 127.0.0.1 xxx.xxx.xxx.xxx

</IfModule>
swindler - 2017-12-27 13:46
mod_rpaf 를 설치하더라도 Apache Log에서는 Proxy 주소가 찍히므로 X-Forwarded-For 를 주어야 실제 client ip 가 출력된다.
Copyright © 1999-2020, swindler.

  2HLAB   2HLAB_Blog   RedToolBox   Omil   Omil_Blog