SorryToPerson logo
返回
Nginx2026-04-15·8 分钟

Nginx HTTP/3 与 QUIC 配置

介绍 Nginx 中启用 HTTP/3 与 QUIC 的配置要求、兼容性与最佳实践。

Nginx HTTP/3 与 QUIC 配置

1. HTTP/3 简介

  • HTTP/3 基于 QUIC 协议,运行在 UDP 之上。
  • 可以减少连接建立延迟、提升丢包环境性能。

2. Nginx 版本要求

  • 需要 Nginx 1.25 及以上版本,或带有 HTTP/3 模块的构建版本。
  • 有些发行版提供的 Nginx 仍不包含 HTTP/3,需要自行编译或使用官方仓库。

3. 基本配置示例

nginx
server {
  listen 443 ssl http2;
  listen 443 quic reuseport;

  ssl_certificate /etc/nginx/ssl/example.com/fullchain.pem;
  ssl_certificate_key /etc/nginx/ssl/example.com/privkey.pem;

  ssl_protocols TLSv1.3;
  ssl_prefer_server_ciphers off;

  add_header Alt-Svc 'h3=":443"';
  add_header QUIC-Status $quic;

  location / {
    root /usr/share/nginx/html;
  }
}

4. QUIC 端口与 Header

  • HTTP/3 使用 UDP 443。
  • Alt-Svc 告知浏览器使用 HTTP/3 连接。
  • QUIC-Status 可用于调试客户端是否已使用 QUIC。

5. TLS 要求

  • HTTP/3 仅支持 TLS 1.3。
  • 需要正确配置证书和 ssl_protocols TLSv1.3

6. 客户端兼容性

  • 现代 Chrome / Edge / Firefox 支持 HTTP/3。
  • 某些客户端或中间网络可能仍回退到 HTTP/2 或 HTTP/1.1。

7. 调试与排查

  • 使用浏览器开发者工具查看协议版本。
  • curl --http3 https://example.com 测试 HTTP/3 支持。
  • 检查防火墙是否允许 UDP 443。

8. 生产建议

  • 先以 HTTP/2 为基础,逐步启用 HTTP/3。
  • 对于关键流量,确保 HTTP/1.1/2 能正常回退。
  • 监控 QUIC 连接和丢包表现,评估是否提升了延迟。
NginxHTTP/3QUIC