用 Caddy 给静态站加自动 HTTPS 与 Brotli
把 585.ink 从 Nginx 换到 Caddy,主要是想省掉 certbot 续期和 gzip 配置这两件烦事。做法:先备份原 Nginx 配置和证书目录,再用 Caddyfile 声明站点,encode 指令同时开 zstd、gzip 和 brotli,file_server 指向 /var/www/blog,并在 handle_errors 里自定义 404。坑有两个:一是 Caddy 默认用 80 端口做 ACME 挑战,而我的机器上旧 Nginx 还占着,必须停掉再启动,否则证书签发一直 pending;二是 brotli 对已经压缩过的图片没收益,反而多一层 CPU,我在 encode 后加了 match 排除图片后缀。结论:静态站迁 Caddy 后配置从 60 行降到 12 行,证书自动续期不用再管,Lighthouse 的文本压缩项直接满分,但动态反代场景仍需评估。
把 585.ink 从 Nginx 换到 Caddy,主要是想省掉 certbot 续期和 gzip 配置这两件烦事。做法:先备份原 Nginx 配置和证书目录,再用 Caddyfile 声明站点,encode 指令同时开 zstd、gzip 和 brotli,file_server 指向 /var/www/blog,并在 handle_errors 里自定义 404。坑有两个:一是 Caddy 默认用 80 端口做 ACME 挑战,而我的机器上旧 Nginx 还占着,必须停掉再启动,否则证书签发一直 pending;二是 brotli 对已经压缩过的图片没收益,反而多一层 CPU,我在 encode 后加了 match 排除图片后缀。结论:静态站迁 Caddy 后配置从 60 行降到 12 行,证书自动续期不用再管,Lighthouse 的文本压缩项直接满分,但动态反代场景仍需评估。