从 nginx 切换到 caddy

几个月前网友建议我切换到 https,当时比较懒,假期给各种烂尾楼扫尾想起来这件事情,看了看 caddy,确实非常简单。

caddy 的宣传口号是 “Caddy is the HTTP/2 web server with automatic HTTPS.”,会使用 Let's Encrypt 的服务自动帮你把 https 相关的证书流程自动搞定。颇有各种“一键干坏事脚本”风范。

个人用户用起来确实方便不少。

ghost blog 切换

ghost 本身是个 node 程序,一般是在 nginx 层配一个透明代理,nginx 的配置项还是挺多的,虽然基本上大多个人用户也不用关心。caddy 上更简单:

xargin.com {
        gzip
        proxy / localhost:port {
                transparent
        }
}

这年头大家都喜欢短的。

woboq 切换

之前我在自己的个人站点上搭了个 code.xargin.com,用来在和人撕逼的时候实时查阅一些证据(当然实际上利用频率并不高。这个用的是 nginx 的 autoindex 功能。在 nginx 上是这样配的:

server {
    listen 80;
    server_name code.xargin.com;
    root  /path/to/woboq;
    access_log /var/log/nginx/woboq_access_file.log;
    error_log /var/log/nginx/woboq_access_file_err.log;
    autoindex on;
}

caddy 再次体现了他人性化的一面:

code.xargin.com {
        gzip
        root /home/Xargin/woboq
        browse
}

这里的 browse 和 autoindex on 是等同的~

gittalk 的问题

因为原来的主页和 callback 地址都变了,所以 gittalk 的设置也需要相应的修改,在自己的 github 上找到相应的位置:

Settings -> Developer Settings -> OAuth Apps -> 修改 homepage URL 和 callback URL 就可以了。

定制日志格式

caddy 比 nginx 少打印了一些日志信息,还是希望补上诸如 UA 之类的字段:

log / /home/Xargin/access.log "{remote} {when} {method} {uri} {proto} {status} {size} {>User-Agent} {latency}" {
		rotate_size 100
	}

最后

个人 blog 虽然不需要涉及什么企业安全之类的问题,不过在 http 协议下登陆 ghost 的用户名和密码是可能被嗅探的。除非你不在乎,建议个人博主们还是尽量都切换了吧~

有这么方便的 https 方案,去干一些坏事也更容易了。