开启新协议后,部分网络下页面一直加载不出来,切回旧协议就正常。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,新协议走 UDP 端口,部分网络环境直接丢弃该协议流量,浏览器回退不及时。
「HTTP3 不可用」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。别只看报错的最后一行,往上看几行,真正的起因通常在上面。
ufw allow 443/udp # Nginx listen 443 quic reuseport; add_header Alt-Svc 'h3=":443"; ma=86400';
同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。
改完隔一天再看一次,当场正常不代表能稳住。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。
具体做法是,确认防火墙放行 UDP;保留 HTTP/2 回退;观察失败比例再决定是否全量。
最后用这个标准收尾,开启与关闭新协议都能正常访问,失败率回到正常。