认证机构授权(CAA)记录让域名持有者声明,哪些证书颁发机构可以为该域名签发证书。只有当记录与真实续期路径一致、且操作者理解策略如何从父级名称继承时,它才有用。

检视当前策略

查询确切主机名及其父名称:

for name in www.example.test example.test test; do
  printf '== %s\n' "$name"
  dig +noall +answer CAA "$name"
done

叶子处空的应答不一定意味着没有适用策略。根据 DNS 规则,CAA 处理可能继续向上。诊断变更时使用权威应答,并与至少一个递归解析器比较。

匹配账户的签发者标识

记录使用如 issueissuewild 等标签与一个签发者域值:

example.test. 3600 IN CAA 0 issue "letsencrypt.org"

该值是授权标识,不是证书里的显示名。在证书颁发机构的当前文档中确认它。通配符授权可能需要单独的 issuewild 策略。

在续期前编排 DNS 变更

在当前证书健康时添加或收紧 CAA。从整上一个 TTL 等待,查询权威与递归应答,并运行 ACME 客户端支持的暂存或续期测试。准备好回滚记录。

不要在过期事故期间添加限制性记录,除非签发者路径已验证。一条语法正确但错误的策略,会把自动续期变成硬失败。

观察签发失败

CAA 检查发生在签发时,而不是每次 HTTPS 请求。因此证书监控必须同时覆盖当前过期与续期尝试。把有效的 DNS 应答随 ACME 失败一起记录,而不是只记录一条笼统的授权错误。

来源