把 Nginx 换成了 Caddy,省心不少
以前起个小站习惯性就是装 Nginx 加 certbot,每次都要写那一大坨 server 块,还得惦记着 crontab 里的证书续期脚本有没挂掉。上个月有台测试机因为防火墙规则改错了导致续期失败,我还是点开浏览器看到大红字警告才发现。
这次干脆换了 Caddy,写配置的时候差点以为自己漏了什么——因为跑一个带 HTTPS 的静态站真的只需要这几行:
example.com {
root * /var/www/example
encode gzip
file_server
}
不用手动指证书路径,也不用写 80 跳 443 的重定向,Caddy 起来之后自己就会去调 Let's Encrypt 把事情全办了。
顺手记几个刚踩过的坑
- 别急着 reload:先把 DNS 的 A 记录解析指过去,本地
ping通了再重启 Caddy。不然它第一次去申请证书验证失败,会在日志里报错,还得等重试。 - 防火墙别手滑把 80 关了:虽然平时访问都走 443,但默认 HTTP-01 验证还是得走 80 端口,UFW 里记得放行。
- 目录权限问题:一开始图省事把网页丢在
/root底下,结果死活报 403。后来才反应过来 systemd 起的服务用的是caddy用户,根本进不去/root,乖乖挪到/var/www下就正常了。
目前跑了小半个月稳得很,少操心一件事是一件事。
← 返回首页