a我们已实施以下 DNS 配置,以允许我们的客户使用虚荣网址访问我们的服务:
sub1.clientA.com CNAME clientA.our-domain.com
*.our-domain.com CNAME nlb-sub.amazonaws.com
nlb-sub.amazonaws.com A <some-ips>
我们使用 Let's Encrypt 为子域 sample1.clientA.com 提供证书。请注意,我们目前自己没有 CAA 记录。
但是我们的一个客户,即 clientA,其根域有两个限制性 CAA 记录
clientA.com CAA 0 issuewild "ca1.com"
clientA.com CAA 0 issue "ca1.com"
目前,Let's Encrypt 无法为 sample1.clientA.com 颁发证书。它返回 403 错误:
sample1.clientA.com 的 CAA 记录阻止发行。
很可能是因为 CAA 记录的限制。
我们是否应该要求客户端为其根域设置一个宽松的 CAA 记录?或者,考虑到 CAA 验证像所有其他 DNS 请求一样遵循 CNAME,是否应该将其放在 nlb-sub.amazonaws.com 子域上?
我们没有使用 Route53,并且据我所知我们的 DNS 提供商不支持 ALIAS 记录。
答案1
是的,子域名的 CAA 记录是允许的,并且会覆盖该域名的 CAA 记录。如果子域名存在 CNAME,则将遵循该 CNAME,并使用别名的任何 CAA 记录。RFC 6844§4用一个例子深入解释这些规则。
因此,您应该能够通过为 clientA.our-domain.com 添加 CAA 记录来自己处理这个问题。
据我所知,Let's Encrypt 可以正确处理此类 CAA 记录,但如果您仍然遇到问题,则应联系他们的社区支持论坛。