最近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) 协议实战相关推荐

  1. 同样采用WordPress搭建的网站,如何让你的网站更快更安全?

    WordPress是世界上应用最广泛的开源CMS程序,全世界排名前1000万的网站,约33.4%都是基于WordPress搭建的.其界面精美,模板丰富.可自定义性强.尤其是提供了成千上万的免费和高级插 ...

  2. 让 Spring Boot 启动更快一点

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 "Spring有多快?" 这是 2018 Sp ...

  3. 快做这 15点,让 SpringBoot 启动更快一点!

    "Spring有多快?" 这是 2018 Spring One Platform 中的一场会议.看完会议视频,我自己动手试了一下.下面是我做出的测试结果. 还没有观看视频的朋友推荐 ...

  4. 局域网内建网站教程,如何零成本搭建自己的网站?

    无线局域网作为传统有线局域网络的补充和扩展,获得了家庭网络用户.中小型办公室用户.广大企业用户及电信运营商的青睐,得到了快速的应用. 如何实现局域网服务器搭建外网访问的网站? 在建站之前首先要知道需要 ...

  5. cloudflare_使用Cloudflare使您的网站更快,更安全

    cloudflare Cloudflare is an industry leader in the content-delivery space, reducing load and speedin ...

  6. 如何让网站更快被百度360神马搜狗收录

    最近有人问网站尤其网站首页如何快速让搜索引擎收录. 首先我们第弄懂搜索引擎收录的原理.有五个方向 1.爬虫经过一些网站,网站内找到你的链接,发现百度库里面没有,对你进行搜索入库,一般网站首页很快就会上 ...

  7. WordPress5.8正式发布了,更新完网站更快了!

    WordPress5.8 今日WordPress发布了5.8正式版,小编也直接更新到了最新版本,此版本最大特点区块话管理.放弃万恶的IE浏览器支持以及对图片的优化等一些优化支持! 此版本以传奇爵士钢琴 ...

  8. 【建站知识】如何让我们的网站更快?如何开启全站阿里域名加速?...

    快速入门文档将帮助您快速开始使用全站加速服务.流程如下: 步骤一:开通服务 操作步骤 在阿里云官网 全站加速产品详情页 快速了解产品,点击立即开通. 在云产品开通页 选择合适的计费方式,且阅读并同意& ...

  9. 如何让mysql索引更快一点

    后端开发,公众号内容包括但不限于 python.mysql.数据结构和算法.网络协议.Linux.技术人怎能只有技术和代码,如果你对投资理财.保险,英语学习.读书写作有兴趣,都欢迎来公众号[谭某人]与 ...

最新文章

  1. Apache+php+tomcat+mysql整合手册
  2. Altium Designer多通道设计原理图添加端口
  3. 单链表建立(头插法,头插法,用数组),求长,插入,删除,输出,释放(递归释放和循环释放),归并(递增和递减)
  4. c++面试题之标准模板库
  5. linux脚本实现复制,Shell脚本实现复制文件到多台服务器的代码分享
  6. OrCAD分裂元件的使用方法
  7. mjpg-streamer框架分析
  8. 【LeetCode笔记】剑指 Offer 15-. 二进制中1的个数 (Java、位运算)
  9. 用蒙特卡洛求pi_蒙特卡洛算法(MCS)及其MATLAB实现
  10. 先虚拟主机后云服务器,先虚拟主机后云服务器
  11. 用命令行快速打开软件
  12. 关于ITIL4 认证你必须了解的知识
  13. threejs 绘制星空
  14. LeetCode 739. 每日温度
  15. 基于BottledWater-PG+nodejs实时地图应用实践
  16. 【Kubernetes】k8s使用stargz光速分发镜像
  17. 数十万互联网从业者的共同关注!
  18. 股票的交易原理是怎样的?
  19. Linux操作系统的pstack工具
  20. html圆圈里边有个c,三个c标志可以扯掉-图标含义?一个圆圈里面有三个C代表什么含义 – 手机爱问...

热门文章

  1. C# 读取word2003 并且显示在界面上的方法
  2. 全平台 Chrome 浏览器 44.0.2403.89 版本下载
  3. GPS拓展无线同步模块GSYN1000系列在广域同步测量的应用方案
  4. JavaScript-数组相关作业
  5. Tesseract处理背景渐变的图片
  6. mysql 刚安装完的用户_mysql 离线安装后用户初始化
  7. Microsoft Windows XP SP3安装测试手记
  8. c#开源消息队列中间件EQueue 教程
  9. 《Python数据可视化编程实战》—— 1.3 安装virtualenv和virtualenvwrapper
  10. 用Arduino剖析PWM脉宽调制