2016年03月31日
Tweet
よくあることです。プロキシとか、リバースプロキシとか、ロードバランサとか。そういうのを導入すると、アクセス元のIPアドレスがそれらの機器になってしまいます。
そしてたいていはそれらの機器から、別な引数としてオリジナルのIPが渡されることが多いようです。
で、CloudFlare の場合は以下の方法で、オリジナルのIPを取得することができるようです。
Logging Real Visitor IP Addresses: mod_cloudflare for Apache httpd
さてこの方法ですが、Apache2.4ではできないようでした。
ということで以下の方法で作業します。
※ apxs がインストールされていない場合には、まずは以下のコマンド。
apt-get install apache2-dev
※僕の環境では、まずOSを最新にしないと依存関係の解消が大変でした。
apt-get update
apt-get upgrade
# ソースファイルダウンロード
wget https://raw.githubusercontent.com/cloudflare/mod_cloudflare/master/mod_cloudflare.c
# インストール
apxs -a -i -c mod_cloudflare.c
# apache 再起動
service apache2 restart
# モジュールの読み込み確認
apache2ctl -M |grep cloud
結果→ cloudflare_module (shared)
これで特に設定変更を行わなくても、apache のログには実IPが表示されるようになりました。
そしてたいていはそれらの機器から、別な引数としてオリジナルのIPが渡されることが多いようです。
で、CloudFlare の場合は以下の方法で、オリジナルのIPを取得することができるようです。
Logging Real Visitor IP Addresses: mod_cloudflare for Apache httpd
さてこの方法ですが、Apache2.4ではできないようでした。
ということで以下の方法で作業します。
※ apxs がインストールされていない場合には、まずは以下のコマンド。
apt-get install apache2-dev
※僕の環境では、まずOSを最新にしないと依存関係の解消が大変でした。
apt-get update
apt-get upgrade
# ソースファイルダウンロード
wget https://raw.githubusercontent.com/cloudflare/mod_cloudflare/master/mod_cloudflare.c
# インストール
apxs -a -i -c mod_cloudflare.c
# apache 再起動
service apache2 restart
# モジュールの読み込み確認
apache2ctl -M |grep cloud
結果→ cloudflare_module (shared)
これで特に設定変更を行わなくても、apache のログには実IPが表示されるようになりました。