开启新协议后,部分网络下页面一直加载不出来,切回旧协议就正常。碰到这种情况,我一般先确认改动有没有真的生效。

原因不复杂,新协议走 UDP 端口,部分网络环境直接丢弃该协议流量,浏览器回退不及时。

「HTTP3 不可用」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。别只看报错的最后一行,往上看几行,真正的起因通常在上面。

ufw allow 443/udp
# Nginx
listen 443 quic reuseport;
add_header Alt-Svc 'h3=":443"; ma=86400';

同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。

改完隔一天再看一次,当场正常不代表能稳住。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。

具体做法是,确认防火墙放行 UDP;保留 HTTP/2 回退;观察失败比例再决定是否全量。

最后用这个标准收尾,开启与关闭新协议都能正常访问,失败率回到正常。

作者 9823189