nginx(リバースプロキシ)の配下のApacheは、そのままではアクセス元のIPアドレスを取得することができませんが、mod_rpafを使うとアクセス元のIPアドレスを取得できるようになります。
mod_rpafのインストール
yum install httpd-devel
mkdir mod_rpaf-0.6
cd mod_rpaf-0.6
wget https://raw.github.com/ttkzw/mod_rpaf-0.6/master/mod_rpaf-2.0.c
/usr/sbin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
設定ファイル/etc/httpd/conf.d/mod_rpaf.confを作成
vi /etc/httpd/conf.d/mod_rpaf.conf
------------------------------------------------------
LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1
RPAFheader X-Forwarded-For
------------------------------------------------------
nginxのproxy.confの設定確認
nginxのproxy設定で既に下記ヘッダの設定をしてありますので、そのままとします。
------------------------------------------------------
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
------------------------------------------------------
【環境】
- CentOS Linux 6.3
- nginx 1.4.3
- Apache 2.2.15
コメントする