HAProxy経由で公開するWordPressサイトのX-Forwarded-For codeの挿入(wp-config.php )

pfSense box上で稼働するHAProxy経由でWordPressサイトを運用する場合デフォルト設定ではソースIPを取得することができません。

コメントや問い合わせフォームの発信元IPとしてファイアウォールのIPアドレスが記録されており実際のソースIPが消失してしまいます。

ちなみにこれまではNTT支給のルーターでDMZを構築して運用しておりソースIPがそのまま取得できる状態でしたがpfSenseでPort ForwardやHAProxyを採用以来サーバー側でのソースIPの取得方法を変更する必要が発生していました。

解決方法

X-Forwarded-Forを追加してapacheのアクセスログにはソースIPが追加されて解決できますが依然としてWordPress上では未解決もままでした。

そこで次のコードをwp-config.phpに追記することでソースIPを扱うことが可能になります。

// Use X-Forwarded-For HTTP Header to Get Visitor's Real IP Address

if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
$http_x_headers = explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] );
$_SERVER['REMOTE_ADDR'] = $http_x_headers[0];
}

これでコメントや問い合わせフォームの記録にアクセス元ソースIPを取得して記録することが可能になります。

参照記事

スポンサーリンク


当ブログにお越し下さいましてありがとうございます。
ブログランキングに参加しております。
皆様の応援が励みになりますのでよろしければ応援クリックくお願い致します。
にほんブログ村 車ブログへ
にほんブログ村

シェアする

フォローする