Caddy 使用教程:自动 HTTPS 的省心反代
摘要
Caddy 是默认全自动 HTTPS 的现代 Web 服务器:申请、续期、重定向全自动,配置只要几行。本教程依据 Caddy 官方文档,介绍安装、Caddyfile 反代与静态站写法、多站点分发、localhost 本地证书,以及与 Nginx 的选型对比。
Caddy 使用教程:自动 HTTPS 的现代 Web 服务器
给网站配 HTTPS 要跑 certbot、要配证书路径、要操心续期?Caddy 说:不用。它默认全站自动 HTTPS,申请、部署、续期全自动,配置文件只有几行。本教程依据 Caddy 官方文档(caddyserver.com/docs)整理。
一、安装
具体仓库命令以官网 Install 页为准(会随版本更新)。其他方式:scoop install caddy(Windows)、Docker 镜像 caddy:latest、或官网直接下载单二进制。
二、几行配置就有全站 HTTPS
Caddy 的配置文件叫 Caddyfile,默认位置 /etc/caddy/Caddyfile。反向代理一个应用:
就这么多。保存后执行:
Caddy 会自动向 Let's Encrypt 申请证书、启用 HTTPS、把 HTTP 重定向到 HTTPS,之后每 60 天自动续期。前提只有一个:域名的 A 记录已指向这台服务器,且 80/443 端口可访问。
三、常用场景模板
静态网站:
多个服务按域名分发:
开启 gzip/压缩(默认已开 brotli/zstd,无需配置)。
WebSocket:Caddy 反代默认支持,不用写升级头,零配置。
四、本地开发也能 HTTPS
Caddy 用内置 CA 给 localhost 签本地证书(需信任一次根证书),调试 Web API、PWA 时特别有用。
五、Caddy vs Nginx
维度 | Caddy | Nginx |
|---|---|---|
HTTPS | 全自动 | certbot + 手动配置 |
配置量 | 几行 | 几十行起步 |
性能 | 够用(个人项目无感) | 极高 |
WebSocket | 默认支持 | 需手动加头 |
生态 | 较新 | 最成熟 |
个人自托管项目选 Caddy:省心程度碾压。超大规模、极致性能调优场景再用 Nginx。
六、运维相关
证书自动存放在 /var/lib/caddy/.local/share/caddy/,无需人工管理。
七、总结
需求 | Caddyfile |
|---|---|
反代应用 |
|
静态站 |
|
多站点 | 多个域名块 |
本地 HTTPS |
|
一句话总结:把域名的 A 记录指向服务器,写两行配置,HTTPS 就自己长出来了。这就是 Caddy 的价值。
