我升级到Debian 13后发现Nginx的版本是1.26.3,这个版本我没记错的话是支持HTTP/3的,然后看了一下编译参数,正好包含:--with-http_v3_module
这就意味着无需重新安装或编译Nginx。启用HTTP/3只需要添加QUIC监听和协议通告配置就行了,特别简单。
假设给一个WordPress站点配置HTTP/3,编辑站点的vhost配置文件:
nano /etc/nginx/sites-available/wordpress
在现有HTTPS的server { ... }中增加如下内容:
# 现有 HTTPS:TCP 443 不做修改
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;
http2 on;
# 新增 HTTP/3:UDP 443
listen 443 quic reuseport;
listen [::]:443 quic reuseport;
http3 on;
# 告诉浏览器该站点支持 HTTP/3
add_header Alt-Svc 'h3=":443"; ma=86400' always;
WordPress站点已经设置reuseport后,如果你还有其它站点,那么这些站点就不用配置reuseport了,同一个地址、端口的socket参数只能指定一次。
另外一个站点:
nano /etc/nginx/sites-available/website2
只需要配置:
listen 443 quic;
listen [::]:443 quic;
http3 on;
add_header Alt-Svc 'h3=":443"; ma=86400' always;
还有一个需要注意的点是,HTTP/3只能使用TLS1.3,如果你没有配置TLS1.3则需要添加:
ssl_protocols TLSv1.2 TLSv1.3;
如果使用Certbot管理Nginx的证书则不存在这个问题,Certbot维护的/etc/letsencrypt/options-ssl-nginx.conf默认就启用了TLSv1.3。
检查配置:
nginx -t
平滑加载:
systemctl reload nginx
可以使用这个网站检查:https://http3check.net
荒岛




















