证书颁发机构授权(CAA)DNS 记录指定哪些证书颁发机构(CA)可以为域名签发证书。此记录降低了未经授权的证书签发的可能性,并促进组织内的标准化。
为增强安全性,还可以设置 Certificate Transparency Monitoring。
如果以下各项均为真,您应在 Cloudflare 创建 CAA 记录:
- 您上传了自己的自定义源服务器证书(非 Cloudflare 预配)。
- 该证书由 CA 签发(非自签名)。
- 您的域名采用完整设置(而非 CNAME 设置)。
- 添加新的 Custom Hostname 且您的客户已有 CAA 记录。在这种情况下,请要求客户移除现有 CAA 记录或添加缺失的 CAA 记录。
Cloudflare 在以下情况下自动添加 CAA 记录:
- 当您拥有 Universal SSL 并向 zone 添加任何 CAA 记录时。
- 当您拥有 advanced certificates 并向 zone 添加任何 CAA 记录时。
这些记录确保 Cloudflare 仍能代表您签发 Universal 证书。
若 Cloudflare 已自动代表您添加 CAA 记录,这些记录不会显示在 Cloudflare 仪表板中。不过,若您使用 dig 运行命令行查询,可以看到任何现有 CAA 记录,包括 Cloudflare 添加的记录(将 example.com 替换为您在 Cloudflare 上的域名):
➜ ~ dig example.com caa +short
# CAA records added by Google Trust Services
0 issue "pki.goog; cansignhttpexchanges=yes"
0 issuewild "pki.goog; cansignhttpexchanges=yes"
# CAA records added by Let's Encrypt
0 issue "letsencrypt.org"
0 issuewild "letsencrypt.org"
# CAA records added by SSL.com
0 issue "ssl.com"
0 issuewild "ssl.com"
# CAA records added by Sectigo
0 issue "sectigo.com"
0 issuewild "sectigo.com"为您计划用于域名的每个证书颁发机构 (CA) 创建 CAA 记录。
要在仪表板中添加 CAA 记录:
-
在 Cloudflare 仪表板中,前往 DNS Records(DNS 记录) 页面。
Go to Records ↗ -
选择 Add record(添加记录)。
-
对于 Type(类型),选择 CAA。
-
对于 Name(名称),输入您的域名。
-
选择 Tag(标签),它指定与该记录关联的行为。
-
对于 CA domain name(CA 域名),输入 CA 名称。
-
选择 Save(保存)。
-
对与您的域名关联的每个 CA 重复此操作。
要通过 API 创建 CAA 记录,请使用此 POST 端点。
创建完所有记录后,您可以在 DNS Records 面板下显示的记录列表中查看它们。
如果您的域名上有 CAA 记录,它们必须允许 Cloudflare 使用的证书颁发机构 (CA)。有关 Cloudflare 可能使用的每个 CA 所需的 CAA 值,请参阅证书颁发机构。
CNAME 目标上的 CAA 记录同样适用。如果您的主机名 CNAME 到其 zone 具有限制性 CAA 记录的域名,这些记录优先——即使您自己的域名没有 CAA 记录。
检查 CNAME 链所有层级的 CAA:
dig yourdomain.com CAA +short
dig cname-target.com CAA +short