如何解决 ACM 证书颁发或续订时的 CAA“失败”错误?
我通过 AWS Certificate Manager (ACM) 请求新证书或尝试续订证书,但域名状态为“失败”。即使证书请求失败,但验证状态仍为“成功”。
简短描述
证书颁发机构授权 (CAA) 记录是 DNS 记录,可用来控制能为域名颁发证书的证书颁发机构 (CA)。ACM 会检查 CAA 记录,以验证域名所有者是否允许 ACM 为域名颁发 SSL 证书。CAA 会检查以下情况:
- CAA 记录检查沿着 DNS 域名树向上移动。
- 如果没有 CAA 记录,则任何 CA 都可以颁发证书。
- CAA 记录检查遵循 CNAME 记录。
- “issue”标签可用于非通配符域名和通配符域名,而“issuewild”标签仅影响通配符域名。
解决方法
CAA 记录检查沿着 DNS 域名树向上移动
CAA 记录检查从所请求的域名开始,然后在 DNS 域名树中向上移动。如果请求的是 www.example.com 的证书,ACM 会首先检查三级域名 www.example.com 的 CAA 记录。然后,ACM 会检查二级域名 example.com。
找到 CAA 记录后,将停止 CAA 查询,找到的记录随即生效。以下示例显示了在为 www.example.com 请求证书时,哪条 CAA 记录会生效:
(Example 1 / www.example.com)Domain Record type Flags Tag Value www.example.com. CAA 0 issue "amazon.com" example.com. CAA 0 issue "SomeCA.com" (Result: CAA passed)
三级域名的记录生效,允许 ACM 颁发证书。未使用二级域名记录。
(Example 2 / www.example.com)Domain Record type Flags Tag Value www.example.com. CAA 0 issue "SomeCA.com" example.com. CAA 0 issue "amazon.com" (Result: CAA failed)
第一条记录生效,阻止 ACM 颁发证书。第二条记录遭到忽略。
(Example 3 / www.example.com)Domain Record type Flags Tag Value test.example.com. CAA 0 issue "SomeCA.com" example.com. CAA 0 issue "amazon.com" (Result: CAA passed)
第一条记录不影响 www.example.com 的 CAA 记录。第二条记录生效,允许 ACM 颁发证书。
以下示例显示了在为 example.com 请求证书时,哪条 CAA 记录会生效:
(Example 4 / example.com)Domain Record type Flags Tag Value www.example.com. CAA 0 issue "amazon.com" example.com. CAA 0 issue "SomeCA.com" (Result: CAA failed)
第一条记录没有生效,因为 www.example.com 是所请求域名的子域名,而且 CAA 记录检查不会沿着 DNS 树向下移动。第二条记录生效,阻止 ACM 颁发证书。
(Example 5 / example.com)Domain Record type Flags Tag Value www.example.com. CAA 0 issue "SomeCA.com" example.com. CAA 0 issue "amazon.com" (Result: CAA passed)
第一条记录遭到忽略,因为 www.example.com 是所请求域名的子域名,而且 CAA 记录检查不会沿着 DNS 域名树向下移动。第二条记录生效,允许 ACM 颁发证书。
如果没有 CAA 记录,则任何 CA 都可以颁发证书
如果没有为请求的域名配置 CAA 记录,则包括 ACM 在内的任何 CA 都可以为域名颁发证书。例如,在以下示例中,ACM 可以为 example.com 颁发证书:
(Example 6 / example.com)Domain Record type Flags Tag Value www.example.com. CAA 0 issue ";" (Result: CAA passed)
由于 CAA 检查不会沿着 DNS 树中向下移动,这条记录遭到忽略。
CAA 记录检查遵循 CNAME 记录
CAA 记录检查会继续处理指向不同域名的 CNAME 记录。在以下示例中,www.example.com 指向有 CAA 记录的 www.example.net:
(Example 7 / www.example.com)Domain Record type Flags Tag Value www.example.com. CNAME www.example.net www.example.net. CAA 0 issue ";" (Result: CAA failed)
第一条记录将 CAA 的检查重定向到 www.example.net。这条 CAA 记录阻止任何 CA 颁发证书,而且 ACM 无法为 www.example.com 颁发证书。
如果指向的域名 www.example.net 没有 CAA 记录,则 CAA 记录检查会向上移至基础域名 example.com。
(Example 8 / www.example.com)Domain Record type Flags Tag Value www.example.com. CNAME www.example.net example.com. CAA 0 issue "amazon.com" (Result: CAA passed)
在这种情况下,ACM 可以为 www.example.com 颁发证书,因为 www.example.net 没有配置任何 CAA 记录。请注意,CAA 记录检查不会向上移至 CNAME 记录的父级,也不会检查 example.net 的 CAA 记录。有关更多信息,请参阅 CA/CA/Browser Forum 网站上的附录 A。
“issue”标签可用于非通配符域名和通配符域名,而“issuewild”标签仅影响通配符域名
“issue”标签允许 CA 为非通配符域名 www.example.com 和通配符域名 *.example.com 颁发证书。可以使用“issueWild”标签来指示 CA 如何处理通配符域名。以下示例显示了在为 *.example.com 请求证书时,哪条 CAA 记录会生效:
(Example 9 / *.example.com)Domain Record type Flags Tag Value example.com. CAA 0 issue "amazon.com" (Result: CAA passed)
CAA 记录允许 ACM 颁发非通配符域名和通配符域名证书,因此 ACM 可以颁发证书。
(Example 10 / *.example.com)Domain Record type Flags Tag Value example.com. CAA 0 issue "amazon.com" example.com. CAA 0 issuewild ";" (Result: CAA failed)
标签字段“issuewild”取代了通配符域名请求的“issue”,因此 ACM 无法颁发证书。**注意:**必须为 example.com 设置 CAA 记录,才可允许 CA 为 *.example.com 颁发证书。
(Example 11 / *.example.com)Domain Record type Flags Tag Value *.example.com. CAA 0 issuewild "amazon.com" example.com. CAA 0 issuewild ";" (Result: CAA failed)
第一条 CAA 记录遭到忽略,第二条 CAA 记录阻止 CA 为 *.example.com 颁发证书。
以下示例显示了在为 *.test.example.com 请求证书时,哪条 CAA 记录会生效:
(Example 12 / *.test.example.com)Domain Record type Flags Tag Value test.example.com. CAA 0 issue "amazon.com" example.com. CAA 0 issuewild ";" (Result: CAA passed)
CAA 检查会找到第一条记录,终止沿着 DNS 域名树向上移动,并允许 ACM 颁发证书。
当请求非通配符域名时,将忽略“issuewild”标签。以下示例显示了在为 www.example.com 请求证书时,哪条 CAA 记录会生效:
(Example 13 / www.example.com)Domain Record type Flags Tag Value www.example.com. CAA 0 issuewild "amazon.com" example.com. CAA 0 issue ";" (Result: CAA failed)
这属于非通配符域名请求,因此第一条 CAA 记录遭到忽略。第二条 CAA 记录生效,不允许 CA 颁发证书。
有关配置 CAA 记录的更多信息,请参阅(可选)配置 CAA 记录。
相关信息
Datatracker 网站上的 DNS 证书颁发机构授权 (CAA) 资源记录
相关内容
- 已提问 1 年前lg...
- AWS 官方已更新 1 年前
- AWS 官方已更新 4 个月前
- AWS 官方已更新 3 个月前
- AWS 官方已更新 3 个月前