使用 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 特性。