你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将服务器发送的事件与应用程序网关配合使用(预览版)

Azure 应用程序网关为服务器发送的事件(SSE)提供支持。 本文档提供了指南,以确保此功能在与 Azure 应用程序网关一起使用时无缝操作。

注释

  • Azure 应用程序网关的 SSE 支持目前处于预览阶段。
  • Access 日志中记录的响应时间表示建立连接的总持续时间。 在此连接期间,可能会传递多个事件流。

配置应用程序网关

响应缓冲区

应禁用 应用程序网关资源上的响应缓冲区 。 此配置使应用程序网关资源能够在收到来自后端服务器的流时向客户端发送响应。

后端设置 - 请求超时

确保 后端设置中的请求超时(秒) 配置为超过事件之间的空闲时间。 否则,应用程序网关资源会提前终止连接。

配置后端服务器

后端服务器应发送以下响应标头,以确保客户端和任何中介正确处理流。 请注意,这些标头并非应用程序网关作为代理的要求。

Content-Type:text/event-stream

此标头通知客户端响应将是事件流,从而使它们能够正确处理服务器发送的事件 (SSE) 协议。

连接:keep-alive

此标头维护 TCP 连接,允许后端服务器持续将事件发送到客户端。

Transfer-Encoding:chunked

此标头允许服务器以区块发送响应,而无需 Content-Length 标头。 当无法提前确定总大小时,必须通过 SSE 流式处理响应。

Cache-Control:no-cache

建议使用此标头来防止像 CDN 这样的中介缓存 SSE 响应。

后续步骤

了解应用程序网关中的 请求和响应代理缓冲区