NSX Advanced Load Balancer サービス エンジン (SE) の送信元 NAT (SNAT) トラフィックは、デフォルトでサーバに送信されます。SNAT により、アプリケーション サーバのログには、元のクライアントの IP アドレスではなく、SE のレイヤー 4 の IP アドレスが表示されます。

ほとんどのアプリケーション サーバは、ログ記録またはブロックリスト作成のソース IP アドレスとして XFF ヘッダーを利用できます。

HTTP トラフィックの場合、NSX Advanced Load Balancer はクライアント/サーバ要求に X-Forwarded-For (XFF) ヘッダーを挿入して、元のクライアント IP アドレスをログ要求に含めるように構成できます。この機能は、NSX Advanced Load Balancer の IPv6 でサポートされています。

HTTP トラフィック ログにクライアントの元の IP アドレスを含める場合は、NSX Advanced Load Balancer を有効にして、サーバ宛てのクライアント トラフィックに XFF ヘッダーを挿入します。XFF 挿入は、仮想サービスに適用された HTTP アプリケーション プロファイルで有効にできます。

  1. [テンプレート] > [プロファイル] > [アプリケーション] の順に移動します。

  2. [HTTP アプリケーション プロファイル] の近くにある編集アイコンをクリックして、次のエディタを開きます。

  3. [全般] タブで、[X-Forwarded-For] チェック ボックスをオンにします。

    注:

    オプションで、[XFF の代替名] フィールドを使用してヘッダーの名前を変更できます。

  4. [保存] をクリックします。

プロファイルの変更は、同じ HTTP アプリケーション プロファイルを使用するすべての仮想サービスに影響します。

XFF ヘッダー挿入が有効になっている場合、SE はクライアント/サーバ パケットのヘッダーで既存の XFF ヘッダーを確認します。XFF ヘッダーがすでに存在する場合、SE は最初に既存の XFF を削除し、次に独自の XFF ヘッダーを挿入します。これは、クライアントが IP アドレスをスプーフィングするのを防ぐために行われます。

注:

クライアント要求に、アプリケーション プロファイル構成に存在するヘッダーと同じ X-forward-proto ヘッダーが含まれている場合、NSX Advanced Load Balancer は 1 つの X-forward-proto のみをサーバに送信します。

既存の XFF ヘッダーを保持する

複数のプロキシが XFF ヘッダーを SNAT して挿入する場合など、この動作(既存の XFF ヘッダーの削除)が望ましくない場合があります。この場合、既存の XFF ヘッダーを削除せずに XFF ヘッダーを挿入するには、DataScript または HTTP 要求ポリシーのいずれかを使用します。

例:

avi.http.add_header("XFF", avi.vs.client_ip())