用 Caddy 反代换掉 Nginx 的实测记录
站点原先跑 Nginx + 手动 certbot 续期,证书偶尔因 cron 失败导致过期。这次换成 Caddy 2,做法是:用 apt 装 Caddy,Caddyfile 里只写域名、root 和 file_server,TLS 由 Caddy 自动申请与续期,再用 reverse_proxy 把 /api 转发到本地 Node 服务。迁移时踩了两个坑:一是 80 端口被旧 Nginx 占用导致 ACME 挑战失败,必须先停服务并确认防火墙放行;二是 Caddy 默认以 caddy 用户运行,静态目录权限不足会返回 403,需 chown 或调整目录权限。切换后证书续期无需人工干预,配置文件从近百行缩到十几行,负载相近。结论:个人站点用 Caddy 替代 Nginx 能显著降低证书维护成本,但端口占用与文件权限必须在切换前处理好。
站点原先跑 Nginx + 手动 certbot 续期,证书偶尔因 cron 失败导致过期。这次换成 Caddy 2,做法是:用 apt 装 Caddy,Caddyfile 里只写域名、root 和 file_server,TLS 由 Caddy 自动申请与续期,再用 reverse_proxy 把 /api 转发到本地 Node 服务。迁移时踩了两个坑:一是 80 端口被旧 Nginx 占用导致 ACME 挑战失败,必须先停服务并确认防火墙放行;二是 Caddy 默认以 caddy 用户运行,静态目录权限不足会返回 403,需 chown 或调整目录权限。切换后证书续期无需人工干预,配置文件从近百行缩到十几行,负载相近。结论:个人站点用 Caddy 替代 Nginx 能显著降低证书维护成本,但端口占用与文件权限必须在切换前处理好。