Oracle Cloud Infrastructureドキュメント

HTTP "X-"ヘッダー

HTTPリクエストとレスポンスには、メッセージに関するコンテキスト情報を提供するヘッダー・フィールドが含まれることがよくあります。 RFC 2616は、HTTPヘッダー・フィールドの標準セットを定義します。 X-で始まるいくつかの非標準ヘッダー・フィールドが一般的です。 ロード・バランシング・サービスは、リクエストをサーバーに渡すときに、次のX-ヘッダーを追加または変更します。

X-Forwarded-For

接続IPアドレスのリストを提供します。

ロード・バランサは、着信リクエストから最後のリモート・ピア・アドレスをX-Forwarded-Forフィールドに追加します。 追加されたアドレスの前にカンマとスペースがあります。 クライアント・リクエスト・ヘッダーにX-Forwarded-Forフィールドが含まれていない場合、この値はX-Real-IP値と同じです。 元のリクエスト・クライアントは、受信フィールドの内容が信頼できるものと仮定して、リスト内の最初の(一番左の)IPアドレスです。 最後のアドレスは、最後(最新)のピア、つまりロード・バランサがリクエストを受信したマシンです。 書式は次のとおりです。

X-Forwarded-For: <original_client>, <proxy1>, <proxy2>

着信フィールドの例:

X-Forwarded-For: 202.1.112.187

追加されたプロキシIPアドレスを持つフィールドの例:

X-Forwarded-For: 202.1.112.187, 192.168.0.10

X-Forwarded-Host

Host HTTPリクエスト・ヘッダーでクライアントがリクエストした元のホストとポートを識別します。 このヘッダーは、リバース・プロキシ(ロード・バランサ)のホスト名またはポートがリクエストを処理している元のサーバーと異なる場合があるため、元のホストを判断するのに役立ちます。

X-Forwarded-Host: www.oracle.com:8080

X-Forwarded-Port

クライアントがロード・バランサへの接続に使用したリスナー・ポート番号を識別します。 例えば:

X-Forwarded-Port: 443

X-Forwarded-Proto

クライアントがロード・バランサに接続するために使用したプロトコル(httpまたはhttps)を識別します。 例えば:

X-Forwarded-Proto: https

X-Real-IP

クライアントのIPアドレスを指定します。 ロード・バランシング・サービスの場合、クライアントは最後のリモート・ピアです。

ロード・バランサは、クライアントとサーバー間のトラフィックを傍受します。 したがって、サーバー・アクセス・ログには、ロード・バランサのIPアドレスのみが含まれます。 X-Real-IPヘッダーは、クライアントのIPアドレスを提供します。 例えば:

X-Real-IP: 192.168.0.10