caddy 默认支持 let’s encrypt 自动 https,只需配置域名和静态路径即可秒获小绿锁;ubuntu/debian 安装需添加官方源并执行 apt install caddy;caddyfile 三行即可托管静态站,自动完成证书申请、续期与 http→https 重定向。

直接用 Caddy 搭轻量 Web 服务器,自动 HTTPS 其实不难——它默认就支持 Let’s Encrypt 证书自动申请和续期,你只要配好域名和文件路径,启动后几秒内就能看到小绿锁。
安装 Caddy(推荐官方源)
在 Ubuntu/Debian 上执行以下命令,确保拿到最新稳定版:
- 导入密钥和仓库:
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list - 更新并安装:
sudo apt update && sudo apt install caddy - 验证安装:
caddy version —— 应输出类似 v2.11.3 的版本号
写一个能跑通的 Caddyfile
配置文件默认放在 /etc/caddy/Caddyfile。以托管静态站为例(假设你有域名 example.com 并已解析到服务器 IP):
- 编辑配置:
sudo nano /etc/caddy/Caddyfile - 填入内容(仅 3 行):
example.com {
root * /var/www/html
file_server
} - 说明:
→ 域名写对,Caddy 就会自动申请证书、跳转 HTTPS、处理续期;
→root *指定网站根目录;
→file_server启用静态文件服务;
→ 不用写任何 TLS 相关指令,全由 Caddy 自动完成。
启动并确认 HTTPS 生效
配置保存后,让 Caddy 加载新设置:
- 重载配置(无需重启):
sudo caddy reload --config /etc/caddy/Caddyfile - 检查服务状态:
sudo systemctl status caddy —— 确保显示 active (running) - 浏览器访问 https://example.com:
如果看到页面且地址栏有小绿锁,说明自动 HTTPS 已就绪;
HTTP 请求也会被自动重定向到 HTTPS。
扩展一点:加反向代理或压缩
日常够用的增强项,只需在 Caddyfile 里追加几行:
- 启用 gzip 压缩(加快加载):
encode gzip 放在 site 块内 - 把
/api/转发到本地 8080 服务:
@api path /api/*
handle @api {
uri strip_prefix /api
reverse_proxy localhost:8080
} - 所有改动后仍用
caddy reload生效,不用 reload 整个服务。











