IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    使用Caddy2托管静态博客

    Timothy发表于 2022-09-13 11:21:13
    love 0

    最近由于Cloudflare受到一些”干扰”,有网友提醒我的blog在国内有打不开的情况。不幸的是我的Blog + CDN都是托管给Cloudflare的,被无辜”殃及”了。再加上最近比较忙,blog也荒芜了快一年没打理,正好这个周末的晚上可以来折腾一下。

    看了一下手上的吃灰的几个小鸡,发现竟然还有一台之前买的搬瓦工的小鸡,登录上去一看,好家伙,uptime 都659天了,稳啊! 好吧,就它了!接下来又是一波骚操作,从德国Contabo的主机rsync直接拷贝所有静态页面过来,速度还挺快。之前用的Nginx,这次打算再次换成Caddy Server,毕竟Caddy都出第二个版本了,自动更新SSL证书是比较能吸引我的地方。去官网研究了一下文档,还是决定用Docker来跑Caddy2,方便!

    由于这个VPS只是用来放我的静态blog,所以也不用考虑多站点的问题,Caddyfile的配置简单到发指:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    https://xiaozhou.net
    {
    encode gzip
    tls example.mail@gmail.com {
    protocols tls1.2
    }
    root * /usr/share/caddy
    file_server
    }

    http://www.xiaozhou.net
    {
    redir https://xiaozhou.net{url}
    }

    http://xiaozhou.net
    {
    redir https://xiaozhou.net{url}
    }

    配置里面有两个请求转发,把所有非HTTPS的请求都转发到HTTPS。然后,再准备一个shell脚本,用来运行Caddy2:

    1
    2
    3
    4
    docker run -d --restart=always --name caddy -p 80:80 -p 443:443 \
    -v /home/mysite:/usr/share/caddy/ \
    -v $PWD/Caddyfile:/etc/caddy/Caddyfile \
    caddy:2.4.5-alpine

    容器直接暴露80端口和443端口到宿主机器即可。万事具备,只欠东风!去Cloudflare把域名解析过来,等生效,然后直接启动Caddy server。一切顺利,Caddy Server会在第一次启动的时候,自动申请LetsEncrypt的证书,后续也能自动renew。我懒啊,要的就是省心!

    后续的流程,去GitHub改掉blog的自动部署流程,把部署的机器更新成现在的小鸡,打完收工!就这样,Blog又又又搬家了一次,从德国搬去了美国西海岸…… 唉……



沪ICP备19023445号-2号
友情链接