Azure の Application Gateway V1/V2 のバックエンドプールに設定されているサーバーが受信する HTTP Request は送信元 IP アドレスが Application Gateway の IP アドレスになります。
しかしながら、Application Gateway は サーバーに送信する HTTP Request のヘッダーに X-Forwarded-For ヘッダーをつけます。
このヘッダーの値は「アクセス元のクライアントの IP アドレス:ポート番号」になります。
そのため、バックエンドのサーバーではこの値を読み取ることによって、アクセスしてきているクライアントの IP アドレスを把握することができます。
画像はバックエンドのサーバーで V2 から送信された HTTP の GET リクエストをキャプチャした結果。
一応このことは以下の URL のドキュメントにも記載されている。
アプリケーション ゲートウェイでは、要求がバックエンドに転送される前に、すべての要求に 4 つの追加ヘッダーが挿入されます。 これらのヘッダーは、x-forwarded-for、x-forwarded-proto、x-forwarded-port、および x-original-host です。 x-forwarded-for ヘッダーの形式は、IP:ポートのコンマ区切りリストです。
IIS で X-Forwarded-For の値をログに記録する
バックエンドのサーバーとして IIS を使用している場合は以下の URL に記載の「 2. Enhanced Logging ※IIS 8.5 以降」の
手順にそって設定すれば X-Forwarded-For の値をログに出力することができます。
"X-Forwarded-For" ヘッダーを IISログに出力したい!
https://docs.microsoft.com/en-us/archive/blogs/jpiis/x-forwarded-for-header