实验性用caddy支持quic,其实入门很简单

本着不折腾会死精神,还是硬着头皮试着搭建caddy来开启quic支持.不过整个流程也很简单,而且实际效果也很出众,加载时间大约节省了二分之一,于是我想把整个流程记录下.

nginx和caddy和谐共存

其实整个思路很简单,TCP走nginx,UDP交给caddy处理,那样就会有个问题:caddy默认会占用tcp443端口!不慌,修改下源码即可.
感谢怎么把网站升级到QUIC以及QUIC特性分析 的文章,我在这个基础上补充些东西(其实是遇到的坑,小白搞这东西真心难受).

//下载源码到gopath目录
go get github.com/mholt/caddy/caddy
go get github.com/caddyserver/builds
//编译
cd ~/go/src/github.com/mholt/caddy/caddy
go run build.go

修改 ~/go/src/github.com/mholt/caddy/caddyhttp/httpserver/server.go
// ln, err := net.Listen(“tcp”, s.Server.Addr)
替换为下面这个
ln, err := net.Listen(“tcp”, “127.0.0.1:61234”)
再重新编译即可<
其中如果你需要安装插件,可以参考https://github.com/mholt/caddy/wiki/Plugging-in-Plugins-Yourself ,前提你需要go get命令把你需要的插件下载好.
如果你的系统缺少golang,你可以参考这个链接 手动编译这个组件.为了配合本文,建议

export GOPATH=$HOME/go

caddy配置文件

编译好后建议先跑一遍下面脚本
https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh这个脚本,然后手动将/usr/local/caddy/caddy替换为~/go/src/github.com/mholt/caddy/caddy里面那个即可.

最后vi /usr/local/caddy/Caddyfile 填入下面代码(记住要改动)

https://51acg.eu.org {
    tls /etc/letsencrypt/live/fullchain.cer /etc/letsencrypt/live/*.51acg.eu.org.key
    root /home/blog/
    gzip
    fastcgi / /dev/shm/php-cgi.sock php
    rewrite {
        if {path} not_match ^\/wp-admin 
        to {path} {path}/ /index.php?_url={uri}
    }
} 

保存即可.
最后一步,vi /etc/init.d/caddy,修改一下代码

//nohup "$BIN" --conf="$CONF" -agree >> /tmp/caddy.log 2>&1 &
nohup "$BIN" -quic --conf="$CONF" -agree >> /tmp/caddy.log 2>&1 &

保存即可.  service caddy start ,不出意外就能正常启动了!

另外说下,防火墙需要开启udp 443哦.

说下感受

成功链接上后,需要添加以下代码到网站vhost里,位置在同add_header字段下方即可

add_header alt-svc ‘quic=”:443″; ma=2592000; v=”44,43,39,35″‘;

重启nginx,然后开启chrome尝试下吧~我这里是可以的!

开启前

 

开启后

效果很明显!

 

 

 

 

 
 
         

悲催,bootcdn要跑路啦!

上周将主题的JS文件全改成了外链,用的是bootcdn,本来好好的,不料今天在v2发现有人提到这个问题:bootcdn外链文件挂了,急忙修改主题,将以前外链的库文件改成jsd...

令人糟心的薅羊毛活动:说的是你!humblebundle

humblebundle大发慈悲开启了印花换游戏的活动,本着重在参与的精神,我也参与其中,不料事情并没有那么简单! 糟心一:初尝缺货! 第一轮还好,可能游戏本身也不值...

好站推荐:ebb.io

在动漫花园的广告栏发现的这个网站,打开发现真的很良心!安利的理由有很多,待我一一道来. 界面清爽 打开网站,主颜色是深蓝色,这种颜色很适合夜里补番,因为暗...

《银魂》即将完结,这不是玩笑!

上周的JUMP预告了银魂漫画将有大动作,在这周终于揭晓了:银魂离完结还有五话,这事说起来反倒没那么伤心,毕竟各种烟雾弹之后,这种事情都没什么大惊小怪的,而且...

里番「末班电车后,胶囊旅馆,和上司的微软热之夜」十月出动画版

看这标题“末班”,看这标题“旅馆”,看着标题“和上司”,时间地点人物俱全,能发生什么,我估计你用脚趾头都能想出来~(当然是啪啪啪啦)。没错,这个起了这么长...

加入cloudflare partners搭建属于自己的域名解析服务

小博客以前用的是第三方的cloudflare partners提供的dns解析,虽然相安无事,但总觉得东西放在别人手里不放心(大概见过太多服务朝令夕改怕了),故试着去申...