随着网络协议演进,HTTP/3 基于 QUIC 的设计能有效提升网站加载速度,尤其适合移动端与高延迟场景。本文介绍如何在宝塔面板环境下,通过编译升级 Nginx,为站点启用 HTTP/3 支持。
准备工作
- 已安装宝塔面板,并确保当前使用的是 Nginx(后续将被替换)。
- 网站已配置好 SSL 证书(支持 Let’s Encrypt、TrustAsia 等)。
- 服务器防火墙与云厂商安全组需放行 443 端口的 TCP 与 UDP 协议。
- 可选工具:http3check.net 用于检测 HTTP/3 是否生效。
一、编译支持 HTTP/3 的 Nginx 版本
宝塔官方提供了自动化编译脚本,可直接将 Nginx 升级至 1.25 及以上版本(内置 HTTP/3 模块)。
- 通过 SSH 登录服务器,依次执行:
wget https://download.bt.cn/install/0/nginx5.sh
bash nginx5.sh install 1.25
2.等待编译完成(约 5~10 分钟)。完成后返回宝塔面板 → 软件商店 → 已安装,检查 Nginx 版本是否变为 1.25。若未变,可重启面板或再次确认。
二、修改站点配置文件
升级后,需要为具体站点添加 QUIC 监听指令。
- 进入网站设置 → 配置文件。
- 在监听 443 端口的
server块中,参照以下两种方式添加quic参数:方式一(推荐仅在一个站点中使用reuseport):
listen 443 ssl;
listen 443 quic reuseport;
listen [::]:443 ssl;
listen [::]:443 quic reuseport;
http2 on;
方式二(其他站点可省略 reuseport):
listen 443 ssl;
listen 443 quic;
listen [::]:443 ssl;
listen [::]:443 quic;
http2 on;
3.在配置文件的 server 块中(大约 26~27 行附近)添加以下两行:
ssl_early_data on;
add_header Alt-Svc 'h3=":443"; ma=2592000, h3-29=":443"; ma=2592000, h3-Q050=":443"; ma=2592000, quic=":443"; ma=2592000; v="46,43"';
4.保存配置文件,并通过宝塔面板或命令 nginx -s reload 重启 Nginx。
三、防火墙与安全组放行 UDP 端口
HTTP/3 依赖 UDP 传输,必须确保 443 端口的 UDP 规则已放行。
- 宝塔面板:进入 安全 页面,添加规则,端口
443,协议选择 UDP。 - 云服务商(阿里云、腾讯云等):在对应实例的安全组中,添加入站规则,端口
443,协议选择 UDP,来源0.0.0.0/0。
四、浏览器启用 HTTP/3 支持
现代浏览器多数已默认开启,若需手动确认:
- Chrome / Edge:访问
chrome://flags或edge://flags,搜索Experimental QUIC protocol,设为 Enabled,重启浏览器。 - Firefox:访问
about:config,搜索network.http.http3.enabled,双击设为true。
五、验证结果与常见问题
- 检测:访问 http3check.net 输入域名,查看是否显示支持 HTTP/3。
- 常见报错处理:
[warn] the listen ... http2:若原配置中有listen 443 ssl http2;,需拆分为listen 443 ssl;和http2 on;。- 启动失败提示
resty.core相关:可尝试重新运行编译脚本,或确保未安装冲突的 Lua 模块。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END














暂无评论内容