Important
Azure 应用程序网关 中的 HTTP/3 支持目前处于预览阶段。 在预览版中,此功能的功能、可用性和其他方面可能会更改以响应反馈。
此预览版在没有服务级别协议的情况下提供,不建议用于生产工作负荷。 某些功能可能不受支持,或者可能具有受限功能。
Azure 应用程序网关 支持 HTTP/3,即超文本传输协议的最新版本。 HTTP/3 连接层使用 QUIC,一种基于 UDP 的传输协议,而非 TCP。 HTTP/3 有助于提升面向互联网的应用的连接性能和可靠性,尤其是对于移动或有损网络上的客户端。
HTTP/3 可以在单次往返(1-RTT)中建立连接,这有助于降低连接建立延迟,相较于早期的 HTTP 版本。 它还支持在单一连接上复用多个流,无需TCP头线路阻断。
HTTP/3 使用内置 TLS 1.3 安全性的 QUIC。
基于QUIC的HTTP/3特性与用例
应用网关上的HTTP/3支持为面向互联网的应用提供了基于QUIC的能力,包括更快的连接建立、独立的流处理以及跨网络的连接迁移。
更快建立连接
QUIC通过用1-RTT握手替代TCP的三向握手,从而降低连接建立延迟。 这种减少可以显著缩短连接建立时间,并提升初始页面加载性能,尤其适用于对延迟敏感的应用。
网络应用、消息平台、语音助手、基于交易的系统、移动银行、通知服务和API等工作负载,可以从更快的连接启动和减少用户感知的延迟中受益。
独立的HTTP流
HTTP/3 支持通过单一 QUIC 连接复用多条流。 基于TCP的协议中,丢包或延迟可能导致同一连接上后续数据包的传输,这被称为线路头阻断。 QUIC独立处理流,因此影响一个流的丢包不会阻碍其他流的进度。 这种行为可以提升网页浏览、即时消息、物联网通信、API流量和金融交易等工作负载的响应速度。
连接迁移
QUIC支持连接迁移,通过使用连接标识符,而不仅仅是依赖客户端IP地址和端口。 这种支持允许客户端更换网络或获得新IP地址时,连接仍能继续。
QUIC连接迁移允许客户端的IP地址或端口发生变化,而无需将流量视为新连接。 这一变化有助于避免客户端在网络间移动(如从蜂窝网络到Wi-Fi)时出现新的连接设置和 TLS 握手。
Limitations
在公开预览期间,适用以下限制:
- 不支持多站点监听器。
- 不支持IPv6监听器和互认证。
- Web 应用程序防火墙(WAF)网关不能使用 HTTP/3 监听器。
- Public-Private IP 同端口功能不支持 HTTP/3 监听器。
- Azure PowerShell、Azure CLI 和 Terraform 不支持此功能。 支持计划以全面可用性为目标。
启用HTTP/3
你是在侦听器级别配置 HTTP/3,而不是在应用程序网关级别配置。 你可以在创建新监听器时或更新现有监听器时,在单个 Basic 监听器上启用 HTTP/3。 使用Azure门户或REST API来启用HTTP/3。 使用REST API时,请使用2023-02-01或更高版本的API版本。
HTTP/3 使用 QUIC,并且需要 TLS 1.3。 要启用 HTTP/3,监听者必须使用支持 TLS 1.3 的预定义 TLS 策略。 目前,只有预定义的2022年TLS政策支持TLS 1.3。 如果你没有配置2022年预定义的TLS策略,而监听器使用的默认策略不支持TLS 1.3,你就无法启用HTTP/3。 当你在监听器上启用HTTP/3时,它只适用于该监听器。
HTTP/3 只适用于前端客户端连接。 后端连接继续使用 HTTP/1.1。
在公开预览中,你可以通过使用 Azure 门户或 REST API 在应用网关监听器上启用 HTTP/3。
通过使用 Azure 门户配置 HTTP/3
在公开预览阶段,你不能在Azure门户的新应用网关创建流程中启用监听器上的HTTP/3。 要在门户中配置 HTTP/3,先创建应用网关,然后在新的或已有的监听器上启用 HTTP/3。
- 在 Azure 门户中,打开你的应用网关。
- 在 设置中,选择 监听者。
- 选择一个现有的 Basic 监听器,或添加一个新的 Basic 监听器。
- 为监听者启用 HTTP/3。 选择“保存”。
- 通过支持 HTTP/3 的客户端连接到应用网关。
通过使用 REST API 配置 HTTP/3
要使用 REST API 配置 HTTP/3,请使用 Network Resource Provider API 版本 2023-02-01 或更高版本。
获取现有的应用网关资源配置。 参考资料: 应用网关 - 获取
在集合
httpListeners中,更新你想启用HTTP/3的监听器。 将enableHttp3属性设置为true。"enableHttp3": true通过 PUT 请求更新应用网关资源。 参考资料: 应用网关 - 创建或更新
通过支持 HTTP/3 的客户端连接到应用网关。