Caddy2 v2.6.0發佈

Caddy今天發佈了v2.6.0版本,官方說是自Caddy2以來最大變化的發佈。對我來說,最關鍵的變化是默認支持最新的HTTP/3協議,之前的experimental_http3配置項'畢業'廢棄了。HTTP/3使用QUIC(快速UDP網絡連接)是一種實驗性的網絡傳輸協議,由Google開發,該協議使網頁傳輸更快。服務器端放開UDP 443端口,保證聯通正常,其它的什麼都不用做。 HTTP/3的客戶端會讀取Caddy的Alt-Svc頭後通過UDP和Caddy server交互。Chrome/Firefox/Edge等瀏覽器早就支持了。

本站已火速支持,畢竟網絡變快是利大於弊,人民羣衆喜聞樂見。配置驗證過程如下:

1. 升級Caddy到最新版本

各種發行版本,自己去github release手動下載安裝,或者搜索對應方法,Debian系直接

sudo apt install caddy

升級完,查看版本

➜ caddy version
v2.6.0 h1:lHDynvM+sTOi9Aq4Y15b4FtkqzPB36WbUrZvVdwzTCA=

2. 重啓Caddy

sudo systemctl restart caddy.service

此處要注意是否讀到正確的Caddyfile,默認讀的是/etc/caddy/Caddyfile,可以把自己的Caddyfile軟鏈接過來,不然網站可就掛了。

3. 驗證HTTP3是否正常

  • 方法一

    去LiteSpeed搭建的測試網站 https://http3check.net/ 示例如下圖所示:

    http3 test

  • 方法二

    瀏覽器測試,最新版的chrome或者firefox,按F12打開開發者工具,切換到Network,直接訪問目標網站,比如驗證下google.com,右鍵勾選顯示協議protocol,如下圖所示:

    http3 test

    再查看下返回頭:

    http3 respone header

    事實證明不光西方記者跑得快,西方大型網站也跑得快😂!有興趣的可以測試下國內的幾個大型站點。

4. 如果測試不正常,驗證下UDP 443端口是暢通

  • 查看端口是監聽, 正常會返回兩行,TCP和UDP各一條記錄

      ss -aln | grep 443
    
  • 確認上面的UDP端口監聽正常後,客戶端模擬請求, 服務端抓包

    • 客戶端模擬請求:

        nc -z -v -u YOUR_SERVER_IP 443  
      
    • 服務端抓包,注意!替換下面的eth0替換爲你服務器的監聽的網卡名:

        tcpdump -i eth0 -A -s0 port 443 and udp
      

    客戶端發起請求後,觀察caddy所在服務器是否能抓到對應的報文,有報文表明端口暢通。沒有的話,請檢查自己的網絡環境,聯繫相關人員,解除防火牆或者其它類似限制。

最後修改於: Monday, August 28, 2023

相關文章:

翻譯: