让子弹飞,零成本让你的网站更快一点,boxopened http/3 (QUIC) 协议实战
最近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.1ports:- 80:80- 443:443- 80:80/udp- 443:443/udpvolumes:- ../../boxopened-config/caddy/www:/srv- ../../boxopened-config/caddy/ssl:/root/.caddy- ../../boxopened-config/caddy/logs:/wwwlogs- ../../boxopened-config/caddy/conf/Caddyfile:/etc/Caddyfilecommand: ["--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 {gziplog /wwwlogs/portal.access.logtls /root/.caddy/fullchain.pem /root/.caddy/privkey.pemproxy / portal:6001 {transparent}
}
就这么几行配置,完事儿,简单吧!
再给大家说说我中间遇到的坑,首先quic协议的底层是基于udp协议的,所以在进行docker端口配置的时候,要expose相应的udp端口,并且打开主机的防火墙配置。。。(我能说我在这上面搞到凌晨三点么。。。)
所有的一切完成后,我以为一切都ok了,又发现怎么都无法进行quic连接,反复尝试还是不行。原来chrome只支持最新的quic协议,所以更新了下caddy的版本,一些搞定!
最后展示下效果
想更直观的感受下,请戳 boxopened.com
让子弹飞,零成本让你的网站更快一点,boxopened http/3 (QUIC) 协议实战相关推荐
- 同样采用WordPress搭建的网站,如何让你的网站更快更安全?
WordPress是世界上应用最广泛的开源CMS程序,全世界排名前1000万的网站,约33.4%都是基于WordPress搭建的.其界面精美,模板丰富.可自定义性强.尤其是提供了成千上万的免费和高级插 ...
- 让 Spring Boot 启动更快一点
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 "Spring有多快?" 这是 2018 Sp ...
- 快做这 15点,让 SpringBoot 启动更快一点!
"Spring有多快?" 这是 2018 Spring One Platform 中的一场会议.看完会议视频,我自己动手试了一下.下面是我做出的测试结果. 还没有观看视频的朋友推荐 ...
- 局域网内建网站教程,如何零成本搭建自己的网站?
无线局域网作为传统有线局域网络的补充和扩展,获得了家庭网络用户.中小型办公室用户.广大企业用户及电信运营商的青睐,得到了快速的应用. 如何实现局域网服务器搭建外网访问的网站? 在建站之前首先要知道需要 ...
- cloudflare_使用Cloudflare使您的网站更快,更安全
cloudflare Cloudflare is an industry leader in the content-delivery space, reducing load and speedin ...
- 如何让网站更快被百度360神马搜狗收录
最近有人问网站尤其网站首页如何快速让搜索引擎收录. 首先我们第弄懂搜索引擎收录的原理.有五个方向 1.爬虫经过一些网站,网站内找到你的链接,发现百度库里面没有,对你进行搜索入库,一般网站首页很快就会上 ...
- WordPress5.8正式发布了,更新完网站更快了!
WordPress5.8 今日WordPress发布了5.8正式版,小编也直接更新到了最新版本,此版本最大特点区块话管理.放弃万恶的IE浏览器支持以及对图片的优化等一些优化支持! 此版本以传奇爵士钢琴 ...
- 【建站知识】如何让我们的网站更快?如何开启全站阿里域名加速?...
快速入门文档将帮助您快速开始使用全站加速服务.流程如下: 步骤一:开通服务 操作步骤 在阿里云官网 全站加速产品详情页 快速了解产品,点击立即开通. 在云产品开通页 选择合适的计费方式,且阅读并同意& ...
- 如何让mysql索引更快一点
后端开发,公众号内容包括但不限于 python.mysql.数据结构和算法.网络协议.Linux.技术人怎能只有技术和代码,如果你对投资理财.保险,英语学习.读书写作有兴趣,都欢迎来公众号[谭某人]与 ...
最新文章
- Apache+php+tomcat+mysql整合手册
- Altium Designer多通道设计原理图添加端口
- 单链表建立(头插法,头插法,用数组),求长,插入,删除,输出,释放(递归释放和循环释放),归并(递增和递减)
- c++面试题之标准模板库
- linux脚本实现复制,Shell脚本实现复制文件到多台服务器的代码分享
- OrCAD分裂元件的使用方法
- mjpg-streamer框架分析
- 【LeetCode笔记】剑指 Offer 15-. 二进制中1的个数 (Java、位运算)
- 用蒙特卡洛求pi_蒙特卡洛算法(MCS)及其MATLAB实现
- 先虚拟主机后云服务器,先虚拟主机后云服务器
- 用命令行快速打开软件
- 关于ITIL4 认证你必须了解的知识
- threejs 绘制星空
- LeetCode 739. 每日温度
- 基于BottledWater-PG+nodejs实时地图应用实践
- 【Kubernetes】k8s使用stargz光速分发镜像
- 数十万互联网从业者的共同关注!
- 股票的交易原理是怎样的?
- Linux操作系统的pstack工具
- html圆圈里边有个c,三个c标志可以扯掉-图标含义?一个圆圈里面有三个C代表什么含义 – 手机爱问...
热门文章
- C# 读取word2003 并且显示在界面上的方法
- 全平台 Chrome 浏览器 44.0.2403.89 版本下载
- GPS拓展无线同步模块GSYN1000系列在广域同步测量的应用方案
- JavaScript-数组相关作业
- Tesseract处理背景渐变的图片
- mysql 刚安装完的用户_mysql 离线安装后用户初始化
- Microsoft Windows XP SP3安装测试手记
- c#开源消息队列中间件EQueue 教程
- 《Python数据可视化编程实战》—— 1.3 安装virtualenv和virtualenvwrapper
- 用Arduino剖析PWM脉宽调制