用 Caddy 反代静态站并自签证书的实操记录
把博客从 Nginx 迁到 Caddy,静态文件由 Caddy 直接托管,前面用反代指向本地 8080 端口的构建产物目录。做法是先用官方 apt 源装 Caddy,改写 Caddyfile:handle 静态路由、encode zstd gzip、file_server 并开启 browse 关闭目录列表,反代段用 reverse_proxy 127.0.0.1:8080 并加 health_uri 探活。内网测试域名没有公网解析,改用 tls internal 自签,把 Caddy 的根证书导入本机信任库,浏览器才不报警。踩的坑有两个:一是构建产物权限是 700,Caddy 以 caddy 用户运行读不到文件,改成 755 解决;二是 reload 后旧的 8080 进程残留导致 502,加了 systemd 依赖和探活才稳定。结论是 Caddy 配置量比 Nginx 少一半,自签场景够用,但上线公网前必须换真实证书并检查文件权限。
把博客从 Nginx 迁到 Caddy,静态文件由 Caddy 直接托管,前面用反代指向本地 8080 端口的构建产物目录。做法是先用官方 apt 源装 Caddy,改写 Caddyfile:handle 静态路由、encode zstd gzip、file_server 并开启 browse 关闭目录列表,反代段用 reverse_proxy 127.0.0.1:8080 并加 health_uri 探活。内网测试域名没有公网解析,改用 tls internal 自签,把 Caddy 的根证书导入本机信任库,浏览器才不报警。踩的坑有两个:一是构建产物权限是 700,Caddy 以 caddy 用户运行读不到文件,改成 755 解决;二是 reload 后旧的 8080 进程残留导致 502,加了 systemd 依赖和探活才稳定。结论是 Caddy 配置量比 Nginx 少一半,自签场景够用,但上线公网前必须换真实证书并检查文件权限。