Ubuntu 26.04 Nginx 启用 HTTP3 和 QUIC 完整教程

现在大部分网站都在用 HTTP/2,但 HTTP/3 基于 QUIC,延迟更低、抗丢包更强,移动网络体验提升特别明显。

Nginx 从 1.25.0 开始正式支持 HTTP/3,配置其实很简单,几步就能搞定。

先看你的 Nginx 支不支持 HTTP/3

nginx -V       #大写V

如果输出里有 --with-http_v3_module,说明可以直接用。

没有的话,需要升级到官方主线版或自己编译。

放行 UDP 443(非常重要)

HTTP/3 走 UDP,不开放 443 UDP 绝对用不了。

sudo ufw allow 443/udp

云服务器还要在后台安全组里开 UDP 443。

Nginx 站点配置(直接复制改域名即可)

server {
    listen 443 quic reuseport;
    listen 443 ssl http2;
    server_name yourdomain.com;

    # SSL 证书(你自己的路径)
    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

    # HTTP/3 必须 TLS1.3
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;

    # 告诉浏览器支持 HTTP/3
    add_header Alt-Svc 'h3=":443"; ma=86400';

    # 可选优化
    ssl_early_data on;
    quic_gso on;
    quic_retry on;

    # 其他常规配置
    root /var/www/html;
    index index.html;
}

# 80 端口跳转 HTTPS
server {
    listen 80;
    server_name yourdomain.com;
    return 301 https://$host$request_uri;
}

检查配置并重启 Nginx

sudo nginx -t
sudo systemctl reload nginx

验证是否成功开启 HTTP/3

打开 Chrome / Edge → F12 开发者工具 → 网络面板

刷新页面,在 “协议” 列看到 h3 就说明成功了。

也可以用 curl 看响应头:

curl -I https://www.58jb.com

出现 Alt-Svc: h3=":443" 就是配置正常。

常见问题

  • 一直是 HTTP/2,没变成 h3 多半是 UDP 443 没放行,或证书不合法。
  • Nginx 报错 invalid parameter "quic" 版本太低,必须 ≥1.25.0 且带 http_v3_module。
  • Safari 打不开 确保开启 TLSv1.3,不要只开 TLS1.2。

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress