使用 HTTP/3
启用 TLSv1.3 协议支持
HTTP/3 需要在 全局配置
/通用
中启用 TLSv1.3 的协议支持
配置 HTTP/3
在 全局配置
/集群分区
中,为分区中添加 HTTP/3 的监听端口。因为 HTTP/3 监听的是 UDP 端口,这里添加和 HTTPS 相同的 443 端口。
注意:请确认安全防火墙是否开放了 443 UDP 端口。
端口配置完成之后,通过页面规则添加 Alt-Svc
响应头。告诉客户端当前提供 HTTP/3 服务的端口。
Alt-Svc
响应头格式如下:
Alt-Svc: <protocol-id>=<alt-authority>; ma=<max-age>
Example:
Alt-Svc: h3-25=":443"; ma=3600
Alt-Svc: h3=":443"; ma=3600, h3-25=":443"; ma=3600, h3-29=":443"; ma=3600
我们刚刚添加的 HTTP/3 端口为 443,因此这里可以填写 h3=":443"; ma=3600, h3-25=":443"; ma=3600, h3-29=":443"; ma=3600
。
验证 HTTP/3
配置完成后,我们可以通过 cURL 指定 HTTP/3 协议验证现有的应用。
例如:
# 需要编译支持 HTTP/3 的 curl, 可以参考这个文档: https://curl.se/docs/http3.html
curl -i --http3 https://your-domain.com/
curl -i --alt-svc altsvc.cache https://your-domain.com/
# 还可以直接使用 Docker 镜像中的 curl
sudo docker run -it --rm ymuski/curl-http3 curl -i --http3 https://your-domain.com/
注意:如果要在浏览器上验证 HTTP/3,确保浏览器已经启用 HTTP/3 特性。