关于 chrome 和 firefox 对 http3 的支持问题

2021-05-11 20:29:07 +08:00
 monkeyNik

本人在服务器上使用 nginx-quic 版本搭建了一个 web server 。配置中:

http {
  ...
  server {
    listen 8443 http3 reuseport;
    ...
  }
  ...
}

如此配置启动后,netstat 可以看到仅启用了 udp8443 端口。 然后按照: https://blog.csdn.net/kencaber/article/details/111242634 开启了 firefox 与 chrome 的 http3 选项,发现无法访问。但是使用支持 http3 的 curl 工具访问是没问题的。

然后在 nginx 的 listen 指令后又加了一条 listen 8443 ssl;指令,netstat 会发现 nginx 同时监听了 tcp 和 udp 的 8443 端口。此时使用浏览器就可以访问了。

向诸位 v 友求教,http3 不是底层依赖 QUIC 协议,应该是走 udp 的吗,为何仅启用 udp 时浏览器无法正常访问?是否是本人配置的问题?

PS:chrome 当前版本为 90.0.4430.93 ,firefox 为 88.0.1 。且浏览器访问 https://quic.nginx.org/ 提示 Congratulations! You're connected over QUIC.

1986 次点击
所在节点    Chrome
8 条回复
Yadomin
2021-05-11 20:40:49 +08:00
因为浏览器不会默认用 quic 去连,只有返回 Alt-Svc 的时候才会
monkeyNik
2021-05-11 20:44:18 +08:00
@Yadomin 跪谢兄台,我之前给注掉了😂
monkeyNik
2021-05-11 20:54:04 +08:00
@Yadomin 额 我在配置中加了 add_header Alt-Svc '$http3=":8443"; ma=86400'; 但看 netstat 显示的还是走的 tcp...
mons
2021-05-12 06:59:45 +08:00
add_header Alt-Svc 'h3-29=":443"';
monkeyNik
2021-05-12 11:32:31 +08:00
@mons 修改了,把所有 8443 都替换成 443,也就是 nginx 监听 tcp 和 udp 的 443 端口,还是一样的情况,浏览器的访问全是 tcp 的,curl 的是 udp 的😭
ericps
2022-05-18 15:31:04 +08:00
@monkeyNik 请问您现在解决了吗,我也遇到了这个问题
monkeyNik
2022-05-18 22:10:26 +08:00
@ericps 解决了,🐧MjAzODYwODkxMw==
ericps
2022-05-20 17:17:36 +08:00
@monkeyNik 请问您是怎么设置的呀

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/776328

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX