车栈

caddy服务器初识

今天给大家介绍一个不一样的服务器软件, 基于Go语言编写的Caddy

The HTTP/2 web server with automatic HTTPS

宣传语很有意思,两个关键词: HTTP/2automatic HTTPS

  • HTTP/2

    这是在去年正式发布的新一代 HTTP 协议,是由 SPDY 协议演变而来的,SPDY完成其使命之后,Chrome也已经宣布停止支持该协议,未来无疑就是HTTP/2的天下了, 它的好处很多,感兴趣的可以参考:

  • automatic HTTPS

    自动https部署,在其背后是Caddy自动帮我们在Let’s Encrypt 帮我们完成证书的申请并自动应用起来。Let’s Encrypt 证书申请部署虽然不是很复杂,但这种简易的自动化操作带来的方便感还是不言而喻的,大家可以对比下Nginx下部署的过程,参考 JerryQu的文章

当然Caddy还支持很多功能:

  • IPv6
  • Markdown
  • WebSockets
  • FastCGI
  • templates
  • more…

具体参考其手册

最后,我们来看下我的博客的部署配置:

https://www.chekun.me, http://www.chekun.me, http://chekun.me {
    redir https://chekun.me{uri}
    tls mr.che.kun@gmail.com
}

https://chekun.me {
    gzip
    log /var/log/caddy/chekun.me.access.log
    tls mr.che.kun@gmail.com
    root /data/chekun.me/
    header / {
        Strict-Transport-Security: "max-age=10886400; includeSubDomains; preload"
        X-Frame-Options "deny"
        Cache-Control "public*"
        X-Content-Type-Options "nosniff"
    }
}

是不是超级简单而且非常易懂?