2.5 KiB
2.5 KiB
HTTP/3
启用网站HTTP/3功能
要想启用单个网站HTTP/3功能,你需要:
- 你已经启用了网站的HTTPS功能,并上传了对应的SSL证书;
- 在网站设置 -- HTTPS页面点击"启用HTTP/3",并保存,如果没有这个选项,说明你没有在对应的集群中启用HTTP/3功能。
测试
前提是你已经启用了浏览器的quic功能(以下介绍可能根据浏览器语言设置不同而有不同的描述):
Google Chrome- 在浏览器上访问chrome://flags/#enable-quic,找到"Experimental QUIC protocol",并启用之(Enabled)Microsoft Edge- 在浏览器上访问edge://flags/#enable-quic,找到"Experimental QUIC protocol",并启用之(Enabled)Firefox- 在浏览器上访问about:config,然后搜索"network.http.http3.enable",并点击对应行末尾的切换图标,启用之(true)Safari- 最新版本的Safari已经自动支持HTTP/3,无需任何额外配置
浏览器设置后,可能需要清理浏览器缓存并重启后才能生效。
在网站中启用HTTP/3功能后,可以在浏览器正常访问你的网站域名,并在浏览器控制台(通常是F12快捷键)观察访问使用的协议(Protocol),如果显示h3或者HTTP/3,就说明你已经成功启用了网站的HTTP/3功能。
常见问题
为什么设置后仍然不能使用HTTP/3访问?
可能的几个原因,请依次认真检查:
- 你没有在网站中开启HTTP/3功能,请参考本文中的 "启用单个网站HTTP/3功能" 部分进行检查;
- 在浏览器控制台中检查响应Header中是否含有(不区分大小写)
Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000的内容,如果没有,则说明你没有在网站中开启HTTP/3功能; - 检查你的浏览器是否设置了代理服务器,或者你的电脑是否设置了代理服务器,由于绝大部分代理服务器只支持TCP通讯,所以如果你的电脑上有任何代理服务器,请先停用;
- 尝试清空浏览器所有缓存后,关闭浏览器,再重新打开;
- 另外注意Websocket目前不支持HTTP/3。
一定需要开启HTTP/2才能使用HTTP/3吗?
不需要,两个是独立的不相互影响。
为什么关闭HTTP/3后访问的仍然是HTTP/3
浏览器端会记住你的HTTP/3设置,所以在单个网站关闭HTTP/3功能后,你访问到的仍然可能是HTTP/3,此时你需要清空浏览器设置并重启浏览器后重试。
