リバースプロキシ/ロードバランサーの背後から実際のIPを抽出します
リバースプロキシの背後でApacheベースのサイトを使用する場合は常に、デフォルトで、要求を行うクライアントの実際のIPを抽出する(または少なくとも非常に良い機会があります)ための賢明な方法を失います。これは、多くの状況でリバースプロキシまたはロードバランサーがクライアントになり、Apacheにとって、これは、分析を行っている場合に役に立たなくなるIP(Apacheサーバーファームにローカルの場合は内部IP)のみが表示されることを意味するためです。 Apacheログを記録するか、IPに基づいてリクエストの決定を行います。
apacheに実際のクライアントのIPを知らせるには、ユーザーmod_rpafモジュールをロードする必要があります。 Debianベースのマシンでは、次のコマンドを起動してApacheを再起動するのと同じくらい簡単で簡単です。
sudo apt-get install libapache2-mod-rpaf
ただし、RHE/RHLマシンの場合はそうではありません。次の手順を使用して、CentOSApacheサーバーなどのRHE/RHLベースのマシンにmod_rpafモジュールをインストールします。
wget http://drupion.com/sites/default/files/mod_rpaf-0.6.tar_.gz
何らかの理由でファイルが最初に配置されていたhttp://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gzは、現在オフになっていることに注意してください。
yum install httpd-develtar zxvf mod_rpaf-0.6.tar_.gz
cd mod_rpaf-0.6
apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
次に、次の内容のファイル/etc/httpd/conf.d/mod_rpaf.confを作成します。
LoadModule rpaf_module modules / mod_rpaf-2.0.so#mod_rpaf構成
RPAFenable On
RPAFsethostname On
RPAFproxy_ips xxx.xxx.xxx.xxx
RPAFheader X-Forwarded-For
必ずxxx.xxx.xxx.xxxをサーバーのIPアドレスに置き換え、Apacheを再起動してからログをチェックし、サーバーのIPではなく訪問者のIPが表示されていることを確認してください。