符合条件的名称与挑战连接受管理证书,并有续期循环及持久状态。

Caddy 自动管理 HTTPS 证书的签发与续期

Caddy 可以自动获取并续签受管理的证书,不需要运维人员手工实现 ACME 协议。自动化省去了重复操作,却没有取消签发前提,也不能代替对失败的监控。今天证书有效,不证明下次续期仍能完成,更不证明整条链路中的每一跳都使用同一张证书。应先明确服务名称、验证路径、持久存储和 TLS 终止位置,再判断自动化覆盖到哪里。 先让自动 HTTPS 知道服务名称 当配置让 Caddy 知道符合条件的主机名或地址时,自动 HTTPS 才会按规则启用,同时还要考虑文档列出的例外与显式覆盖。Caddyfile 中的站点地址包含主机名,是常见触发方式。file_server 指令负责提供文件,本身并不等于为某个尚未指定的域名申请公开证书,不能把文件服务功能与证书管理的启用条件混在一起。 命令行区别很明确:不带参数的 caddy file-server 默认监听八十端口;提供 --domain 后,才会尝试为指定主机名启用 HTTPS,并将默认监听端口改为四百四十三。无论命令怎样拼写,都不能单独证明 DNS、端口转发或证书授权已经正确。显式 HTTP 配置、手动加载的证书等条件,也可能改变自动行为,应该检查实际生效配置。 本地开发还有不同的信任边界。对于内部名称,Caddy 可以使用自己的本地证书机构。客户端需要通过适当流程信任该机构;某台机器能够正常访问,不代表这张证书已经获得公网客户端的普遍信任。更不能为了修复客户端信任问题,把私有 CA 的签名密钥发给所有客户端。信任根分发与私钥保管是两项不同工作。 让挑战方式与真实路径匹配 Caddy 默认同时启用 HTTP-01 与 TLS-ALPN-01。前者通过公网八十端口验证,后者通过四百四十三端口上的特殊 TLS 握手验证;Caddy 可以在可用方式之间选择。某次 HTTP 挑战失败,并不说明 DNS 验证就是唯一替代方案。应先从日志确认实际失败的是哪种挑战,再检查该方式的入口、转发和防火墙规则。 ...

一月 21, 2027 · 2 分钟 · XB Field Notes
构建、检查和暂存位于明确的选择边界之前,边缘采样检查位于之后。选择前失败保持旧版;选择后失败需要显式回滚。

发布一个静态站点并证明边缘一致

构建、发布并检查交付,分清产物身份、采样观察与回滚。

八月 11, 2026 · 2 分钟 · XB Field Notes
HTML 页面加载本地样式表与 favicon。只有不需要可执行脚本时,才适合 script-src none。

安全响应头应描述实际页面

从窄策略开始,只在某个有文档说明的特性需要另一种资源时才扩大它。

七月 23, 2026 · 1 分钟 · XB Field Notes
Accept-Encoding 选择 identity 或编码后表示。字节不同的两个变体使用不同的示意强标签 A 与 B。Vary: Accept-Encoding 告诉共享缓存按协商请求字段匹配。

压缩会改变所选中的 HTTP 表示

分开测试压缩与未压缩请求,让缓存和验证器描述实际送达的字节。

六月 29, 2026 · 1 分钟 · XB Field Notes
到期证据包括 notAfter 与自选阈值;名称、证书链和信任关系需要单独验证。SNI 选择虚拟主机,不验证证书。

证书过期是一个日期,而不是仪表盘上的颜色

使用 SNI,检视公共证书,并在续期变成事故之前告警。

六月 10, 2026 · 1 分钟 · XB Field Notes
一个包含文件的明确发布根目录连接到公共响应。虚线箭头提示符号链接可能通向根目录之外;根目录不是沙箱。

静态服务器应有一个明确的根目录

一个根、一个 file_server、一份小的响应头策略,让静态部署易于检视。

六月 4, 2026 · 1 分钟 · XB Field Notes