nginx経由apacheでクライアントのIPアドレスを取得する

user-pic
0
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

トラックバック(0)

トラックバックURL: http://web.sfc.keio.ac.jp/~kj/mt4/mt-tb.cgi/47

コメントする

このブログ記事について

このページは、madpapaが2013年10月22日 11:08に書いたブログ記事です。

ひとつ前のブログ記事は「nginx(1.4.3)のproxyでWebとWebSocketのポート共有。SSL対応」です。

次のブログ記事は「子宮頸がん予防の最新事情」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。