Caddy 服务器(自动 HTTPS)
现代 Web 服务器,通过 Let's Encrypt 自动 HTTPS,简单 Caddyfile 配置,开箱即用 HTTP/3。
为什么
Caddy 自动获取和续期 TLS 证书 —— 无需 certbot、cron、手动续期。Caddyfile 5-10 行即可实现带 HTTPS 的反向代理。
支持 HTTP/3、反向代理和静态文件,默认合理,适合简单自托管设置。
何时使用
想要零配置 HTTPS 和简单配置时使用 Caddy —— 适合个人网站、小型 SaaS 和原型。需要复杂路由、Lua(OpenResty)或已有基于 nginx 的多 server 块设置时用 nginx。
如何做
示例
常见问题
- ⚠证书获取失败 —— 端口 80 和 443 须开放且域名须解析到服务器;Caddy 默认用 HTTP-01 需端口 80。
- ⚠CDN 后 Caddy 无法获取证书 —— CDN 终止 TLS;用 Caddy 内部 CA 或设 tls { on_demand } 并用 'tls' 指令指向现有证书禁用自动 HTTPS。
- ⚠配置未重载 —— 用 'caddy reload' 而非 'systemctl restart' 避免断开活动连接;先用 'caddy validate' 验证。
最佳实践
- ✓用 Caddyfile(非 JSON)配置 —— 可读性远高且支持 'caddy reload' 零停机更新。
- ✓通配符证书(*.example.com)用 DNS-01 挑战配 Caddy DNS 插件(caddy-dns/cloudflare),无需暴露端口 80。
- ✓在 header 块添加安全头(X-Frame-Options、CSP、HSTS)—— Caddy 默认不添加,不同于某些加固 nginx 配置。
常见问题解答
什么是Caddy 服务器(自动 HTTPS)?它解决什么问题?
现代 Web 服务器,通过 Let's Encrypt 自动 HTTPS,简单 Caddyfile 配置,开箱即用 HTTP/3。 它可帮助开发者在不自建基础设施的前提下完成部署、存储与扩展,是云服务选型的核心参考。
如何在 5 分钟内上手Caddy 服务器(自动 HTTPS)?
两步即可跑通:① 安装 Caddy(官方 apt 源或下载二进制)。;② 编写 Caddyfile,含域名和 reverse_proxy 或 file_server。。建议先用免费套餐验证流程,再接入生产环境。
Caddy 服务器(自动 HTTPS) 最容易踩的坑是什么?
最高频的问题是:证书获取失败 —— 端口 80 和 443 须开放且域名须解析到服务器;Caddy 默认用 HTTP-01 需端口 80。。建议在上线前用 checklist 逐项核对,并在 CI 中加入策略与配置扫描。
Caddy 服务器(自动 HTTPS) 的最佳实践有哪些?
Caddy 服务器(自动 HTTPS) 的最佳实践包括:用 Caddyfile(非 JSON)配置 —— 可读性远高且支持 'caddy reload' 零停机更新。;通配符证书(*.example.com)用 DNS-01 挑战配 Caddy DNS 插件(caddy-dns/cloudflare),无需暴露端口 80。;在 header 块添加安全头(X-Frame-Options、CSP、HSTS)—— Caddy 默认不添加,不同于某些加固 nginx 配置。。其中首条「用 Caddyfile(非 JSON)配置 —— 可读性远高且支持 'caddy reload' 零停机更新。」应作为团队默认规范写入 IaC 模板。
Caddy 服务器(自动 HTTPS) 如何控制成本与避免账单意外?
三招防超支:① 为所有资源打 env/team 标签并启用账单告警;② 用预算阈值触发 Slack/邮件通知;③ 定期用 Cost Explorer 审查闲置资源并清理。Caddy 服务器(自动 HTTPS) 多数提供免费套餐,先在免费额度内验证再放量。