Azure Application Gateway では、サーバー送信イベント (SSE) がサポートされています。 このドキュメントでは、Azure Application Gateway で使用する場合に、この機能をシームレスに操作するためのガイドラインを示します。
注
- Azure Application Gateway での SSE のサポートは、現在プレビュー 段階です。
- Access ログに記録される応答時間は、接続が確立された合計期間を表します。 この接続期間中は、複数のイベント ストリームが通過する可能性があります。
Application Gateway の構成
応答バッファー
Application Gateway リソースの応答バッファーを無効にする必要があります。 この構成により、バックエンド サーバーからのストリームが受信されると、アプリケーション ゲートウェイ リソースはクライアントに応答を送信できます。
バックエンド設定 - リクエストタイムアウト
バックエンド設定の要求タイムアウト (秒) が、イベント間のアイドル時間を超えて構成されていることを確認します。 それ以外の場合、アプリケーション ゲートウェイ リソースは接続を途中で終了します。
バックエンド サーバーの構成
バックエンド サーバーは、クライアントと仲介者による適切なストリーム処理を保証するために、次の応答ヘッダーを送信する必要があります。 これらのヘッダーは、プロキシとしての Application Gateway の要件ではありません。
Content-Type: text/event-stream(コンテンツタイプ: テキスト/イベントストリーム)
このヘッダーは、応答がイベントのストリームであることをクライアントに通知し、サーバー送信イベント (SSE) プロトコルを正しく処理できるようにします。
接続: キープアライブ
このヘッダーは TCP 接続を維持し、バックエンド サーバーがクライアントにイベントを継続的に送信できるようにします。
Transfer-Encoding: チャンク
このヘッダーを使用すると、サーバーは Content-Length ヘッダーを必要とせずに、チャンク単位で応答を送信できます。 合計サイズを事前に決定できない場合は、SSE 経由で応答をストリーミングする必要があります。
Cache-Control: no-cache
CDN などの中継局が SSE 応答をキャッシュしないようにするには、このヘッダーを使用することをお勧めします。
次のステップ
Application Gateway の 要求および応答プロキシ バッファー について説明します。