资讯专栏INFORMATION COLUMN

让子弹飞,零成本让你的网站更快一点,boxopened http/3 (QUIC) 协议实战

huhud / 3032人阅读

摘要:整体基于的开发,通过反代对外提供服务,之前通过配置,已经支持了协议,但是目前还不支持协议,于是只能想别的办法。经过一番谷歌再次感谢伟大的谷歌以后,发现了,一个新一代的服务器。目前对的支持还处于实验性质,所以要开启,要加上标志。

最近HTTP-over-QUIC 协议被正式命名为 HTTP/3,协议带来的最大改变是协议底层将采用UDP协议,而不再是TCP协议,这样的好处吗,就是更低时延,更好的拥塞控制,更精确的RTT时间,更高效率的多路复用...谷歌万岁,要知道现有的http/2(spdy)协议也是源于谷歌。

这么多的好处,还等什么,开搞。

boxopened整体基于的nodejs开发,通过nginx反代对外提供服务,之前通过配置,boxopened已经支持了http/2协议,但是目前nginx还不支持quic协议,于是只能想别的办法。经过一番谷歌(再次感谢伟大的谷歌)以后,发现了Caddy,一个新一代的web 服务器。caddy的官网:https://caddyserver.com/ 。caddy宣称是比nginx更人性化的web server,基于go语言开发,简单易用的配置,原生的http/2支持,自动的https证书管理....

caddy的部署有很多方式,由于boxopened整体是基于docker化的部署,所以这里caddy的部署也是基于docker部署的,好在官方提供了docker镜像(这里给caddy点个赞)。接下来就是配置了,官方文档写的简单又清楚,一看就懂。目前对quic的支持还处于实验性质,所以要开启quic,要加上-quic 标志。

下面是docker-compose.yml 中caddy服务的配置,大家可以参考下。

caddy:
    image: abiosoft/caddy:0.11.1
    ports:
    - 80:80
    - 443:443
    - 80:80/udp
    - 443:443/udp
    volumes:
    - ../../boxopened-config/caddy/www:/srv
    - ../../boxopened-config/caddy/ssl:/root/.caddy
    - ../../boxopened-config/caddy/logs:/wwwlogs
    - ../../boxopened-config/caddy/conf/Caddyfile:/etc/Caddyfile
    command: ["--conf", "/etc/Caddyfile", "--log", "stdout", "--agree", "--quic"]

caddyfile 配置

http://boxopened.com {
  redir 301 {
      / https://www.boxopened.com{uri}
  }
}

http://www.boxopened.com {
  redir 301 {
      / https://{host}{uri}
  }
}

https://www.boxopened.com {
  gzip
  log /wwwlogs/portal.access.log
  tls /root/.caddy/fullchain.pem /root/.caddy/privkey.pem
  proxy / portal:6001 {
  transparent
  }
}

就这么几行配置,完事儿,简单吧!

再给大家说说我中间遇到的坑,首先quic协议的底层是基于udp协议的,所以在进行docker端口配置的时候,要expose相应的udp端口,并且打开主机的防火墙配置。。。(我能说我在这上面搞到凌晨三点么。。。)

所有的一切完成后,我以为一切都ok了,又发现怎么都无法进行quic连接,反复尝试还是不行。原来chrome只支持最新的quic协议,所以更新了下caddy的版本,一些搞定!

最后展示下效果

想更直观的感受下,请戳 boxopened.com

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/99533.html

相关文章

  • 子弹成本你的网站更快一点boxopened http/3 (QUIC) 协议实战

    摘要:整体基于的开发,通过反代对外提供服务,之前通过配置,已经支持了协议,但是目前还不支持协议,于是只能想别的办法。经过一番谷歌再次感谢伟大的谷歌以后,发现了,一个新一代的服务器。目前对的支持还处于实验性质,所以要开启,要加上标志。 最近HTTP-over-QUIC 协议被正式命名为 HTTP/3,协议带来的最大改变是协议底层将采用UDP协议,而不再是TCP协议,这样的好处吗,就是更低时延,...

    MadPecker 评论0 收藏0
  • Windows Server 2022 正式版发布(英文版、简体中文版镜像文件下载)

    摘要:正式版发布,微软在和发上发布了镜像下载,虽然并未公开宣布,但意味着已经发布正式版。从故障转移群集迁移存储迁移到故障转移群集,以及在独立服务器和故障转移群集之间迁移。在独立服务器上使用存储空间的存储总线缓存存储总线缓存现在可用于独立服务器。windows server 2022 正式版发布!2021.08.19,微软在 VLSC 和 MSDN 发上发布了 windows server 2022...

    RaoMeng 评论0 收藏0
  • HTTP/2 技术调研和性能分析

    摘要:消息与逻辑请求或响应消息对应的完整的一系列帧。声明数据流依赖关系指出,应尽可能先向父数据流分配资源,然后再向其依赖项分配资源。数据流应先于和获得完整资源分配和应先于和获得相同的资源分配和应基于其权重获得比例分配。 转载自 | 小米运维(公众号 ID:MI-SRE)showImg(https://segmentfault.com/img/bVbbesG?w=344&h=344); HTT...

    hlcfan 评论0 收藏0

发表评论

0条评论

huhud

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<