NSX LB の L7 透過モードの仮想サーバへのアクセスで「502 Bad gateway」が発生することがある
search cancel

NSX LB の L7 透過モードの仮想サーバへのアクセスで「502 Bad gateway」が発生することがある

book

Article ID: 421451

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

免責事項:これは英文の記事「"502 bad gateway" response with L7 transparent mode」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

  1. クライアントが 502 Bad Gateway レスポンスを受信する
  2.  エッジの Syslog に「99: Cannot assign requested address」というエラーが出力される

Environment

VMware NSX

Cause

これはタイミングの問題です。

「L7 透過モード (SNAT 無効)」のみの場合、LB は、クライアントの TCP コネクションで送信される各 HTTP リクエストに対して、同じクライアント IP とポートを使用した TCP コネクションによって選択されたバックエンドサーバーに接続します。同じ接続からの 2 つの HTTP リクエストが同じバックエンドサーバーに割り当てられる可能性があり、その場合、同じ IP とポートを使用してそのサーバーへの接続がトリガーされます。以前の TCP コネクションがまだ存在する場合、または完全に閉じられていない場合、「cannot assign the address」という 99 エラーが報告され、その後 502 レスポンスが返されます。

Resolution

回避策:
オプション 1:
- 仮想サーバーに割り当てられたアプリケーションプロファイルでサーバキープアライブを有効にします。

オプション 2:
- 要件に応じて、「SNAT 変換モード」を「自動マップ」または「IP プール」に設定して SNAT を有効にします。
- クライアント IP をバックエンドサーバに認識させる必要がある場合は、x-forwarded-for を使用します。