このセクションでは、アプリケーション固有のコンテンツを含むカスタム エラー ページを生成する手順について説明します。
現在、NSX Advanced Load Balancer はポリシー、DataScript、または POOL_DOWN アクションからカスタム応答を生成できます。これ以外では、バックエンド サーバと通信できない場合があり(502 エラーの場合など)、ハードコードされたページ(非カスタム)でクライアントに応答します。ユーザーが独自のカスタム エラー ページを生成して、ページに NSX Advanced Load Balancer を表示せず、アプリケーション固有のメッセージを表示することを希望する場合があります。
機能の概要
NSX Advanced Load Balancer は、サーバから有効な応答ヘッダーを受信してクライアントに転送するまで、エラー/タイムアウトが発生したときにトリガされる、RESP_FAILED という名前の新しい DataScript イベントをサポートします。
例:
サーバへの TCP/SSL 接続/ハンドシェイクが失敗する
プロキシの要求/サーバへの送信がタイムアウトになる
サーバからの応答がない、応答ヘッダーが部分的である、または応答ヘッダーが不正である
NSX Advanced Load Balancer SE がサーバの応答を待機している間にサーバが接続をリセットする
RESP_FAILED イベントに適用された DataScript が実行されます。スクリプトに公開される関数の例は、avi.http.response()、avi.http.redirect()、および(新しく作成された)avi.http.internal_status() です。ユーザーはこれらを使用して、さまざまなタイプの障害に対する応答をカスタマイズしたり、NSX Advanced Load Balancer ログに理由を記録したりできます。詳細については、以下を参照してください
関連トピック:
DataScript 関数には avi.http.internal_status() が含まれます。これは、サーバへの要求が失敗した理由を返します。
オブジェクト モデルの RESP_FAILED 状態
DataScript のイベントの RESP_FAILED 状態