web-dev-qa-db-ja.com

X-Forwarded-ForヘッダーのIPv6スタイルのIPv4アドレスをIPv4スタイルに変換する方法はありますか?

私は、イカのアクセラレータの前にポンドのリバースプロキシがあり、次にいくつかのPHPベースのWebアプリに電力を供給するApache2の前にあるシステムを実行しています。

PoundデーモンはX-Forwarded-ForヘッダーをApacheに送信するように構成されているため、前述のアプリケーションはメッセージの真の送信元を判別できます(squidはX-Forwarded-Forヘッダーを変更せずに透過的に渡すように構成されています)。ただし、Poundは、単に::ffff:1.2.3.4としてではなく、1.2.3.4のようなXFFヘッダーでIPv4アドレスを表記するため、アプリケーションが破棄されます。

::ffff:1.2.3.4の場合を正しく処理するように各アプリケーションを変更する以外に、PoundがIPv6表記を使用しないようにする方法、またはApacheでIPv6表記をIPv4表記にプリエンプティブに変換する方法はありますか?

3
FastLizard4

mod_headers を使用して、phpアプリケーションが表示する前にX-Forwarded-Forヘッダーを書き換えることができるはずです。

RequestHeader edit X-Forwarded-For "^::ffff:" ""
3
Mitch