宝塔面板开启HTTP/3配置教程
一、准备工作(必做)
1. 环境要求验证
表格
| 组件 | 最低要求 | 推荐版本 | 检查命令 |
|---|---|---|---|
| Nginx | 1.25.0+(实验性) | 1.25.5+/1.30+ | nginx -v |
| OpenSSL | 1.1.1q+ | 3.0.0+/QuicTLS | nginx -V 查看编译参数 |
| Linux 内核 | 4.18+(支持 UDP GSO) | 5.0+ | uname -r |
| 宝塔面板 | 7.9.0+ | 11.7.0+ | 面板首页查看版本 |
2. 关键前提条件
- 网站已配置HTTPS 证书(HTTP/3 仅支持加密连接)
- 服务器安全组与宝塔防火墙均放行 UDP 443 端口(HTTP/3 基于 QUIC 协议,运行在 UDP 443)
- 建议使用TLS 1.3(HTTP/3 最佳实践,部分客户端可能强制要求)
二、升级 Nginx 到支持 HTTP/3 的版本
步骤 1:升级宝塔面板(可选但推荐)
plaintext
# 登录SSH执行面板升级命令
curl https://download.bt.cn/install/update6.sh | bash
步骤 2:安装 / 升级 Nginx 到 1.25.5 + 版本
- 进入宝塔面板 → 软件商店 → Nginx → 设置
- 点击版本切换,选择1.25.5或更高版本(如 1.30)
- 等待编译安装完成(约 5-10 分钟,取决于服务器配置)
步骤 3:验证 Nginx 版本
plaintext
nginx -v
# 预期输出:nginx version: nginx/1.25.5 或更高
三、配置 HTTP/3(核心步骤)
方法 A:自动配置(宝塔 11.7.0+,推荐)
- 进入站点 → 设置 → SSL
- 先关闭 SSL,然后重新启用 SSL(自动添加 HTTP/3 配置)
- 前往安全 → 系统防火墙,放行UDP 443 端口
方法 B:手动配置(通用兼容)
- 进入站点 → 设置 → 配置文件
- 在
server块中添加以下配置:
nginx
# 原有HTTPS监听
listen 443 ssl http2;
# 添加HTTP/3监听(关键)
listen 443 quic reuseport; # reuseport用于多进程负载均衡
# 启用HTTP/3
http3 on;
# 强制TLS 1.3(推荐)
ssl_protocols TLSv1.3;
# 告诉浏览器支持HTTP/3(关键)
add_header Alt-Svc 'h3=":443"; ma=86400'; # ma=86400表示缓存1天
- 完整配置示例:
nginx
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen 443 quic reuseport; # HTTP/3监听
server_name example.com;
http3 on; # 启用HTTP/3
http2 on; # 保留HTTP/2支持
# SSL证书配置(与HTTP/2共用)
ssl_certificate /path/to/ssl/fullchain.pem;
ssl_certificate_key /path/to/ssl/private.key;
ssl_protocols TLSv1.3; # 仅启用TLS 1.3(推荐)
ssl_prefer_server_ciphers on;
ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256;
# 关键:告诉浏览器支持HTTP/3
add_header Alt-Svc 'h3=":443"; ma=86400';
# 其他配置...
root /www/wwwroot/example.com;
index index.php index.html;
}
- 点击保存,然后重启 Nginx使配置生效
四、防火墙配置(必做)
HTTP/3 基于 UDP 协议,必须放行 UDP 443 端口,否则无法建立连接。
1. 宝塔面板防火墙设置
- 进入安全 → 系统防火墙
- 点击放行端口,输入443,选择UDP协议,点击确定
2. 服务器安全组设置(云服务器)
- 登录云服务商后台(阿里云 / 腾讯云等)
- 找到对应服务器的安全组配置
- 添加入站规则:端口 443,协议 UDP,授权对象 0.0.0.0/0 和::/0
五、验证 HTTP/3 是否生效
方法 1:在线检测工具(推荐)
- https://http3check.net/ – 最权威的 HTTP/3 检测工具
- https://http3.wcode.net/ – 简单直观的检测结果
- https://domsignal.com/http3-test – 支持详细协议分析
方法 2:浏览器内置工具
- Chrome/Edge:
- 访问
chrome://net-internals/#quic - 点击Start Recording,然后访问你的网站
- 查看是否有QUIC_SESSION记录,状态码为 200
- 访问
- Firefox:
- 访问
about:networking#quic - 查看连接列表中是否有你的域名,协议显示为h3
- 访问