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
欢迎关注微信公众号,留言交流。

相关文章:

翻译: