用 Caddy 反代替换 Nginx 后我的静态站省心了
把跑了两年的 Nginx 静态站换成 Caddy,起因是每次加子域都要手写 server 块和证书路径。做法是装好 Caddy 后用一条 file_server 指令托管目录,反代部分用 reverse_proxy 指向本地 127.0.0.1 端口,证书交给它自动申请和续期。实际踩的坑有两个:一是 Caddy 默认监听 80/443,与旧 Nginx 冲突导致启动即报端口占用,先停掉 Nginx 再切换;二是前端用的 History 路由刷新 404,需要加 try_files 等价的 handle 配置把请求回落到 index.html。结论是配置量从几十行降到十来行,证书续期不再靠 cron,静态站和轻量反代场景完全够用,重写规则复杂的项目仍建议留在 Nginx。
把跑了两年的 Nginx 静态站换成 Caddy,起因是每次加子域都要手写 server 块和证书路径。做法是装好 Caddy 后用一条 file_server 指令托管目录,反代部分用 reverse_proxy 指向本地 127.0.0.1 端口,证书交给它自动申请和续期。实际踩的坑有两个:一是 Caddy 默认监听 80/443,与旧 Nginx 冲突导致启动即报端口占用,先停掉 Nginx 再切换;二是前端用的 History 路由刷新 404,需要加 try_files 等价的 handle 配置把请求回落到 index.html。结论是配置量从几十行降到十来行,证书续期不再靠 cron,静态站和轻量反代场景完全够用,重写规则复杂的项目仍建议留在 Nginx。