WordPress が mod_remoteip を使用してプロキシ IP アドレスを表示する

WordPress が mod_remoteip を使用してプロキシ IP アドレスを表示する

以前にもこれを設定したことがあり、他のサーバーでは機能しましたが、このインスタンスではなぜ機能しないのか、まったくわかりません。ただし、考えられる原因はあります。これはすべて Amazon Web Services にあります。

この場合、メイン サイトは IIS 8 を使用して Windows サーバーでホストされています。ブログは WordPress をホストするために Ubuntu/Apache 2.4.6 を実行している別のサーバーにあります。メイン サイトは複数の IP アドレスをサポートするために VPC 内にあります。ブログは VPC 外にあります。

他のセットアップ (動作する) では、両方とも IIS の代わりに nginx をリバース プロキシ サーバーとして使用し、プロキシとサーバーを同じ VPC に配置します。これは本当に重要ですか?

動作構成から:

LoadModule remoteip_module /usr/lib/apache2/modules/mod_remoteip.so

RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 172.31.x.x/32

動作しない構成:

LoadModule remoteip_module /usr/lib/apache2/modules/mod_remoteip.so

RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 54.2x.x.x

私は次のようなバリエーションも試しました:

RemoteIPTrustedProxy 54.2x.x.x # tried /32 and /24
RemoteIPInternalProxy 54.x.x.x/32 # also tried /24
RemoteIPTrustedProxy www...

テスト PHP ページを使用して動作しているかどうかを確認すると、次のようになりますprint_r($_SERVER);

[HTTP_X_FORWARDED_BY] => www.....
[HTTP_X_FORWARDED_FOR] => x.x.x.x:x
[SERVER_ADDR] => 10.230.x.x
[SERVER_PORT] => 80
[REMOTE_ADDR] => 54.2x.x.x

PHP の getheaders 関数からの出力は次のとおりです。

[X-Forwarded-By] => www....
[X-Forwarded-For] => x.x.x.x:x

ドキュメンテーションmod_remoteipイントラネット IP アドレスとしてリストされています172.16/12。モジュールは、イントラネット ブロックを検出しないために、実際に正しく動作しないのでしょうか? エラー ログにもこれに関する記述は見つかりませんでした。

それがそのように機能するのは馬鹿げているように思えますが、それが唯一意味をなす理論です。

また、誰かが質問するだろうとわかっているので、次の点にも注意してください。ブログ サーバーをセットアップした後に VPC をセットアップしましたが、VPC 内で再起動する作業をまだ行っていません。これを VPC なしで動作させようとしていましたが、それが問題であれば、それを実行することを検討します。

ありがとう。

関連情報