QUIC 和 HTTP/3 支持
最后更新于
最后更新于
从1.25.0后,对 和 协议的支持可用。同时,1.25.0之后,QUIC 和 HTTP/3 支持在Linux二进制包 ()中可用。
QUIC 和 HTTP/3 支持是实验性的,请谨慎使用。
使用configure
命令配置构建。请参考以获得更多细节。
当配置nginx时,可以使用 配置参数来启用 QUIC 和 HTTP/3。
构建nginx时建议使用支持 QUIC 的 SSL 库,例如 ,,或者 。否则,将使用不支持的兼容层。
使用以下命令为 nginx 配置 :
配置完成后,使用 make
编译和安装 nginx。
一些可能有助于识别问题的提示:
确保 nginx 是使用正确的 SSL 库构建的。
确保 nginx 在运行时使用正确的 SSL 库(nginx -V
显示当前使用的内容)。
为了进行更深入的调查,可以使用以下宏启用其他调试:NGX_QUIC_DEBUG_PACKETS, NGX_QUIC_DEBUG_FRAMES, NGX_QUIC_DEBUG_ALLOC, NGX_QUIC_DEBUG_CRYPTO
。
或者,可以使用 配置 nginx:
或者,可以使用现代版本的 配置 nginx:
模块中的 listen
指令获得了一个新参数 ,它在指定端口上通过启用 HTTP/3 over QUIC。
除了 quic
参数外,还可以指定 参数,使其在多个工作线程中正常工作。
有关指令列表,请参阅 。
要地址验证:
要 0-RTT:
要 GSO (Generic Segmentation Offloading):
为多个 token host key:
QUIC 需要 TLSv1.3 协议版本,该版本在 指令中默认启用。
默认情况下,处于禁用状态。如果相应的网络接口配置为支持 GSO,请启用它。
确保客户端实际通过 QUIC 发送请求。建议从简单的控制台客户端(如 )开始,以确保服务器配置正确,然后再尝试使用可能对证书非常挑剔的真实浏览器。
使用构建nginx并检查调试日志。它应包含有关连接及其失败原因的所有详细信息。所有相关消息都包含“quic
”前缀,可以轻松过滤掉。