caa记录可指定授权ca机构为域名签发https证书,自2017年9月8日起为全球强制要求;其格式为“flag tag value”,常用tag包括issue、issuewild和iodef,value须加英文双引号,主机记录填@作用于主域名及子域(除非子域自设caa或存在cname覆盖)。

直接在域名的 DNS 解析设置中添加 CAA 类型记录,就能指定哪些证书颁发机构(CA)可以为你这个域名签发 HTTPS 证书。只要 CA 在签发前查到你设置了合法的 CAA 记录,且自己被明确授权,才会继续;否则必须拒绝——这是自 2017 年 9 月 8 日起全球所有公开 CA 必须遵守的强制规则。
CAA 记录的基本格式要写对
每条 CAA 记录由三部分组成:flag tag value,中间用空格分隔,value 必须加英文双引号。
- flag:通常填 0,表示“不识别就忽略”,兼容性最好
-
tag:常用三种:
- issue:授权该 CA 签发任意类型证书(含单域名、多域名)
-
issuewild:仅授权签发通配符证书(如
*.example.com) - iodef:指定违规申请时的通知方式(邮箱或 URL)
-
value:对应 tag 的具体值,比如 CA 的域名(
"letsencrypt.org")或邮箱("mailto:security@example.com")
常见授权场景怎么写
根据你要控制的范围,灵活组合多条记录:
- 只允许 Let’s Encrypt 为
example.com及所有子域发普通证书:0 issue "letsencrypt.org" - 同时允许 Let’s Encrypt 发普通证书、DigiCert 发通配符证书:
0 issue "letsencrypt.org"0 issuewild "digicert.com" - 禁止所有 CA 签发(紧急封禁或迁移过渡期):
0 issue ";" - 出问题时自动发邮件通知管理员:
0 iodef "mailto:admin@example.com"
主机记录和生效范围要注意
CAA 记录的主机记录填 @ 表示作用于主域名(如 example.com),它会自动继承给所有子域(www.example.com、api.example.com 等)。
免费 DNS 与邮件安全分析(IntoDNS.ai):包括 DNSSEC、SPF、DKIM、DMARC、MTA-STS、BIMI、SMTP STARTTLS、FCrDNS、黑名单、发件人要求及报告。
但有两点例外:
- 如果某个子域(比如
shop.example.com)自己设置了 CAA 记录,那它的策略优先级更高,主域名的记录不覆盖它 - 如果你的域名用了 CNAME 指向第三方(比如 CDN 或 SaaS 服务),CA 会先查目标域名(如
shop.cdn-provider.net)及其父域的 CAA,只有它们没设,才回退查你自己的域名
添加后怎么确认生效
添加完别急着用,建议用命令行验证是否已正确发布:
dig example.com CAA +short
如果返回你刚配置的内容(比如 0 issue "letsencrypt.org"),说明 DNS 已同步;若返回空,检查是否选错解析线路(务必选“默认”)、TTL 是否过高、或 DNS 提供商是否真正支持 CAA(主流平台如阿里云、腾讯云、华为云、Cloudflare 都已支持)。










