Caddy 反代加自动 HTTPS 的迁移实录
把站点的 Nginx 反代换成了 Caddy,目标是省掉 certbot 续期脚本。做法:用 Caddyfile 写 reverse_proxy 到本机 127.0.0.1:8080,域名直接交给 Caddy 自动申请证书,保留原有 gzip 与缓存头配置。踩坑一:Caddy 默认占用 80/443,迁移时忘记先停 Nginx,启动直接报端口冲突;坑二:反代后后端取到的客户端 IP 全是 127.0.0.1,日志失真,加 trusted_proxies 并让后端读 X-Forwarded-For 才恢复;坑三:旧 Nginx 的 HSTS 头没同步,导致安全头缺失。结论:Caddy 配置量约为原 Nginx 的三分之一,证书续期零维护,反代场景值得迁移,但迁移前务必核对端口占用、真实 IP 传递与安全响应头三项。
把站点的 Nginx 反代换成了 Caddy,目标是省掉 certbot 续期脚本。做法:用 Caddyfile 写 reverse_proxy 到本机 127.0.0.1:8080,域名直接交给 Caddy 自动申请证书,保留原有 gzip 与缓存头配置。踩坑一:Caddy 默认占用 80/443,迁移时忘记先停 Nginx,启动直接报端口冲突;坑二:反代后后端取到的客户端 IP 全是 127.0.0.1,日志失真,加 trusted_proxies 并让后端读 X-Forwarded-For 才恢复;坑三:旧 Nginx 的 HSTS 头没同步,导致安全头缺失。结论:Caddy 配置量约为原 Nginx 的三分之一,证书续期零维护,反代场景值得迁移,但迁移前务必核对端口占用、真实 IP 传递与安全响应头三项。