让你的网站更快一点,boxopened http/3 (QUIC) 协议实战

栏目: 后端 · 前端 · 发布时间: 5年前

内容简介:最近HTTP-over-QUIC 协议被正式命名为 HTTP/3,协议带来的最大改变是协议底层将采用UDP协议,而不再是TCP协议,这样的好处吗,就是更低时延,更好的拥塞控制,更精确的RTT时间,更高效率的多路复用...谷歌万岁,要知道现有的http/2(spdy)协议也是源于谷歌。这么多的好处,还等什么,开搞。boxopened整体基于的nodejs开发,通过nginx反代对外提供服务,之前通过配置,boxopened已经支持了http/2协议,但是目前nginx还不支持quic协议,于是只能想别的办法

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

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

boxopened整体基于的nodejs开发,通过nginx反代对外提供服务,之前通过配置,boxopened已经支持了http/2协议,但是目前nginx还不支持quic协议,于是只能想别的办法。经过一番谷歌(再次感谢伟大的谷歌)以后,发现了Caddy,一个新一代的web 服务器。caddy的官网: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 http/3 (QUIC) 协议实战

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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

创新者

创新者

[美] 沃尔特 · 艾萨克森 / 关嘉伟、牛小婧 / 中信出版社 / 2016-6 / 88.00

讲述了计算机和互联网从无到有的发展历程,并为我们生动地刻画出数字时代的创新者群像。 在近200年的数字化进程中群星闪耀,艾萨克森从一个计算机程序的创造者、诗人拜伦之女埃达说起,细数了这一群站在科学与人文交叉路口的创新者,他们包括通用型电子计算机的创造者奠奇利、科学家冯·诺依曼、仙童半导体公司的“八叛逆”、天才图灵、英特尔的格鲁夫、微软的比尔·盖茨、苹果公司的乔布斯、谷歌的拉里·佩奇等。《创新......一起来看看 《创新者》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具