CAA记录配置指南:各大常用证书机构CAA记录大全
CAA记录配置指南:各大常用证书机构CAA记录大全
CAA(Certification Authority Authorization) 是一条DNS记录,用来声明哪些CA机构有权为你的域名签发SSL证书。配置CAA后,未授权的CA机构在收到证书申请请求时会拒绝签发,相当于给域名加了一把”证书签发锁”。
本文整理了主流证书机构的CAA记录值,方便你直接复制使用。
CAA记录的基本格式
一条完整的CAA记录包含三个部分:
域名. CAA flags tag "value"
- •flags:标志位,通常用
0。设为128表示”关键”,不识别该记录的CA必须拒绝签发 - •tag:记录类型,常用
issue(允许签发)、issuewild(允许签发通配符)、iodef(违规报告邮箱) - •value:CA机构的域名
常见配置示例:
example.com. CAA 0 issue "letsencrypt.org"
example.com. CAA 0 issuewild "letsencrypt.org"
example.com. CAA 0 iodef "mailto:admin@example.com"
iodef 记录可选,配置后如果有未授权CA尝试为你的域名签发证书,会通过邮件通知你。
主流证书机构CAA记录值
免费证书机构
Let’s Encrypt
example.com. CAA 0 issue "letsencrypt.org"
Let’s Encrypt 是使用最广泛的免费证书机构,签发的中间证书为 R3、R10、R11、E1 等。注意CAA值是 letsencrypt.org,不是 letsencrypt.com。
ZeroSSL
example.com. CAA 0 issue "sectigo.com"
example.com. CAA 0 issue "zerossl.com"
ZeroSSL 的证书通过 Sectigo 的基础设施签发,因此CAA记录应配置为 sectigo.com。部分场景也接受 zerossl.com,建议两条都添加以防万一。
Google Trust Services
example.com. CAA 0 issue "pki.goog"
Google 的免费证书服务,CAA值是 pki.goog,注意不是 google.com。
Buypass
example.com. CAA 0 issue "buypass.com"
挪威的免费CA机构,提供6个月有效期的免费证书。
商业证书机构
DigiCert
example.com. CAA 0 issue "digicert.com"
DigiCert 是全球最大的商业CA之一,旗下还包括 GeoTrust、Thawte、RapidSSL 等品牌。如果你使用这些子品牌的证书,CAA记录都配置为 digicert.com。
Sectigo(原 Comodo)
example.com. CAA 0 issue "sectigo.com"
Sectigo 是原 Comodo CA 更名后的品牌,CAA值已从 comodo.com 切换为 sectigo.com。部分老文档仍写 comodo.com,建议使用新值。
GlobalSign
example.com. CAA 0 issue "globalsign.com"
Entrust
example.com. CAA 0 issue "entrust.net"
注意 Entrust 的CAA值是 entrust.net,不是 entrust.com。
GoDaddy
example.com. CAA 0 issue "godaddy.com"
GoDaddy 的证书由 Starfield Technologies 签发,因此也可以配置:
example.com. CAA 0 issue "starfieldtech.com"
SSL.com
example.com. CAA 0 issue "ssl.com"
D-TRUST
example.com. CAA 0 issue "d-trust.net"
德国的CA机构,主要服务欧洲市场。
SwissSign
example.com. CAA 0 issue "swisssign.com"
瑞士的CA机构。
Actalis
example.com. CAA 0 issue "actalis.it"
意大利的CA机构,提供免费S/MIME证书。
Certum
example.com. CAA 0 issue "certum.pl"
波兰的CA机构,欧洲使用较多。
HARICA
example.com. CAA 0 issue "harica.gr"
希腊的CA机构,主要服务学术机构。
云服务商
Amazon(AWS Certificate Manager)
example.com. CAA 0 issue "amazon.com"
example.com. CAA 0 issue "amazontrust.com"
AWS 的免费证书服务,建议两条都添加,确保不同签发链都能通过。
Cloudflare
Cloudflare 本身不直接签发证书,其边缘证书使用 Google Trust Services 或 Let’s Encrypt,因此CAA记录配置为:
example.com. CAA 0 issue "pki.goog"
example.com. CAA 0 issue "letsencrypt.org"
如果使用 Cloudflare 的高级证书管理器,建议同时添加:
example.com. CAA 0 issue "digicert.com"
example.com. CAA 0 issue "sectigo.com"
完整配置示例
场景一:只允许 Let’s Encrypt
最简单的场景,适合个人网站或小型项目:
example.com. CAA 0 issue "letsencrypt.org"
example.com. CAA 0 issuewild "letsencrypt.org"
example.com. CAA 0 iodef "mailto:admin@example.com"
场景二:同时允许 Let’s Encrypt 和 ZeroSSL
适合同时使用多个免费证书做备份的场景:
example.com. CAA 0 issue "letsencrypt.org"
example.com. CAA 0 issue "sectigo.com"
example.com. CAA 0 issue "zerossl.com"
example.com. CAA 0 issuewild "letsencrypt.org"
example.com. CAA 0 issuewild "sectigo.com"
场景三:商业证书为主,免费证书兜底
企业用户使用 DigiCert 商业证书,同时允许 Let’s Encrypt 应急:
example.com. CAA 0 issue "digicert.com"
example.com. CAA 0 issue "letsencrypt.org"
example.com. CAA 0 issuewild "digicert.com"
example.com. CAA 0 iodef "mailto:security@example.com"
场景四:禁止任何机构签发证书
如果你不打算为域名配置证书,可以拒绝所有CA:
example.com. CAA 0 issue ";"
注意分号 ; 必须用引号包裹,表示空值,即拒绝所有签发请求。
通配符证书的特殊处理
通配符证书(如 *.example.com)的CAA验证规则与普通证书不同:
- •如果只配置了
issue记录,未配置issuewild,通配符证书的签发请求会使用issue记录验证 - •如果同时配置了
issuewild记录,通配符证书优先使用issuewild验证
因此,如果你需要申请通配符证书,建议同时配置两条:
example.com. CAA 0 issue "letsencrypt.org"
example.com. CAA 0 issuewild "letsencrypt.org"
如果你希望通配符证书只由特定CA签发,而单域名证书可以由任何CA签发:
example.com. CAA 0 issuewild "letsencrypt.org"
example.com. CAA 0 issue ";"
在主流DNS服务商配置CAA
阿里云DNS
- 登录阿里云控制台 → 云解析DNS
- 选择域名 → 添加记录
- 记录类型选择
CAA - 主机记录留空(针对根域名)或填写子域名
- 记录值填写:
0 issue "letsencrypt.org" - 保存即可
阿里云支持在一个域名下添加多条CAA记录,按顺序匹配。
腾讯云DNSPod
- 登录 DNSPod 控制台
- 选择域名 → 添加记录
- 记录类型选择
CAA - 主机记录留空或填写子域名前缀
- 记录值格式:
0 issue letsencrypt.org(注意DNSPod不需要引号) - 保存
Cloudflare
- 登录 Cloudflare → 选择域名 → DNS
- 点击添加记录
- 类型选择
CAA - Name 填写
@(根域名)或子域名 - Flags 选择
Non-critical (0)或Critical (128) - Tag 选择
issue、issuewild或iodef - Value 填写 CA域名(如
letsencrypt.org) - 保存
Cloudflare 的CAA配置界面最直观,每个字段独立填写,不易出错。
华为云DNS
- 登录华为云控制台 → DNS解析服务
- 选择域名 → 添加记录集
- 类型选择
CAA - 主机记录留空或填写子域名
- 值填写:
0 issue "letsencrypt.org"(含引号) - 保存
验证CAA记录是否生效
配置完成后,可以使用以下命令验证:
使用 dig 命令(Linux/Mac):
dig caa example.com +short
输出示例:
0 issue "letsencrypt.org"
0 issuewild "letsencrypt.org"
0 iodef "mailto:admin@example.com"
使用 nslookup 命令(Windows):
nslookup -type=caa example.com 8.8.8.8
在线工具检测:
推荐使用 SSL Store CAA Lookup 或 MXToolbox CAA Lookup,输入域名即可查看CAA配置。
常见问题排查
申请证书时报错 “CAA record prevents issuance”
这表示你的域名配置了CAA记录,但当前申请证书的CA不在允许列表中。解决方法:
- 用
dig caa 你的域名 +short查看当前CAA记录 - 将要使用的CA加入CAA记录
- 等待DNS传播(通常几分钟到几小时)
配置了CAA还是被未授权CA签发了证书
可能原因:
- •DNS缓存未更新,CA读取到旧记录
- •CAA记录配置错误,value字段格式不对
- •部分CA的CAA检查实现不完整(罕见但存在)
建议配置后等待30分钟再申请证书,并使用在线工具二次确认配置正确。
CAA记录和CDN冲突
如果域名接入了 CDN,证书由 CDN 服务商统一管理,CAA记录需要包含 CDN 的签发CA:
- •使用 Cloudflare:添加
pki.goog、letsencrypt.org、digicert.com、sectigo.com - •使用阿里云CDN:添加
aliyun.com(阿里云使用DigiCert签发) - •使用腾讯云CDN:添加
trustasia.com(亚洲诚信,使用DigiCert签发)
CAA记录的安全价值
配置CAA记录是深度防御的一环,主要价值:
- •防止误签发:即使CA被攻击或社工欺骗,也无法为你的域名签发证书
- •合规要求:PCI DSS 等安全标准要求或建议配置CAA
- •可见性:通过
iodef记录接收异常签发通知,及时发现攻击
不过CAA不能替代证书透明度日志(CT)和证书监控,建议结合使用形成完整防御。
总结
主流CA机构的CAA值速查:
- •Let’s Encrypt:
letsencrypt.org - •ZeroSSL:
sectigo.com(或zerossl.com) - •DigiCert(含 GeoTrust、Thawte、RapidSSL):
digicert.com - •Sectigo(原 Comodo):
sectigo.com - •GlobalSign:
globalsign.com - •Entrust:
entrust.net - •Google Trust Services:
pki.goog - •GoDaddy/Starfield:
godaddy.com或starfieldtech.com - •Amazon:
amazon.com或amazontrust.com
配置建议:
- •只配置需要的CA,不要为了”以防万一”添加过多CA
- •通配符证书同时配置
issue和issuewild记录 - •务必配置
iodef记录接收异常通知 - •配置后等待DNS传播再申请证书
如果你的网站正在使用SSL证书,建议先在本站的 SSL证书配置检测工具 检测当前证书配置,再根据证书品牌对照本文配置对应的CAA记录。