mod_rpafをインストールし、リバースプロキシのローカルのIPを取得しないようにする
当サイトは、リバースプロキシを利用して、内部のWEBサイトに振り分けているのですが(最近)いまさらですが、振り分け先の、apacheのログのリモートアドレスが、すべてプロキシのIPになっていることに気づきまして、急遽対策を考えたりした時の証跡を以下に掲載します。
そういうツールって何?
とそもそもわかっていかなったのですが、どうもツールではなく、apacheでそういうモジュールがあることを調べました。 apacheのモジュールで、mod_rpafというものがあり、ざっくりとした認識では、リバースプロキシ側の、x-forward-for を、単純にREMOTE_ADDRに書き換えている感じではないかと。
【インストール方法】
- ファイルのダウンロード
[shell]
cd /usr/local/src
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
[/shell]
- ファイルを解凍
[shell]
tar xvfz mod_rpaf-0.6.tar.gz
[/shell]
- ディレクトリを移動
[shell]
cd mod_rpaf-0.6
[/shell]
- MakeFileの編集
APXSをコメントアウトし、APXS2に、apxsのパスを入れる
[shell]
vi Makefile
[/shell]
[shell]APXS=$(shell which apxs)
APXS2=/usr/sbin/apxs [/shell]
- コンパイル
[shell]
make rpaf-2.0
make install-2.0
[/shell]
- httpd.confの編集
以下を追記
[shell]
vi /etc/httpd/conf/httpd.conf
LoadModule rpaf_module /etc/httpd/modules/mod_rpaf-2.0.so RPAFenable On RPAFsethostname off
リバースプロキシのIPADDRESSを入れる
RPAFproxy_ips 192.168.XXX.XXX [/shell]
以上で設定は完了です。 apacheを再起動すれば、ログに、リモートのIPADDRESSが取得できていることが確認できるかと思います。