Mod_proxyを実行しているサーバーがあり、基本的にリクエストヘッダーの名前を変更する必要があります。 Originに近いプロキシがX-Forwarded-Forヘッダーを削除していますが、そのデータを保持する必要があるため、Originが取得できるように、別のヘッダーに値を追加します。
私がドコを読んだところ、ヘッダーの名前を変更する方法はなく、Mod_headersのRequestHeaderaddに値を渡す方法がわかりません。
RequestHeader
は環境変数の値をヘッダー値に挿入でき、SetEnvIf
は要求ヘッダー値に基づいて環境変数を設定できるため、次の構成で必要なものを実現できます。
SetEnvIf X-Forwarded-For (.*) saved_x_forwarded_for=$1
RequestHeader set X-Custom-Forwarded-For "%{saved_x_forwarded_for}e"
set
の代わりにadd
を使用する必要があります。これにより、クライアントがカスタムヘッダーを含むリクエストを送信した場合でも、クライアント指定の値が上書きされます(ただし、これでも100%信頼できるわけではありませんが、 X-Forwarded-For
ヘッダーもスプーフィングされる可能性があるため)。また、X-Forwarded-For
のないリクエストを受信した場合に何が起こるかをテストします。