Defaults.Exposed

Defaults.Exposed › 设置 › CAA

如何在 Cloudflare 上设置 CAA 记录

在 Cloudflare 中添加 CAA 记录,控制哪些证书颁发机构可以为你的域名签发 SSL 证书。

这对你的业务意味着什么

CAA(Certification Authority Authorization,证书颁发机构授权)记录指定了哪些证书颁发机构(即签发浏览器地址栏挂锁背后 SSL/TLS 证书的公司)可以为你的域名签发证书。任何守规矩的机构都必须先检查这条记录,如果自己不在名单上,就必须拒绝签发请求。

说得直白一点:没有 CAA 记录,全球数百家证书颁发机构中的任何一家都可能被骗或因失误而向他人签发一张针对你域名的有效证书——攻击者可以借此惟妙惟肖地冒充你的网站。CAA 记录把这扇门关上,等于宣布:只有这几家机构,其他一概不行。 它免费,几分钟就能搞定。

先确认 Cloudflare 在为你解析 DNS

这只有在 Cloudflare 负责回应你域名的 DNS 时才有效。Cloudflare 是你的 DNS 托管方,只有当你域名的**域名服务器(nameservers)**指向控制台中显示的 Cloudflare 域名服务器时,它的 DNS 才会生效。在 Cloudflare 中打开你的域名,查看 Overview 页面以确认 Cloudflare 处于激活状态。如果你的域名服务器指向别处,请到真正负责你 DNS 的服务商那里添加 CAA 记录。

先弄清楚你的证书颁发机构

动手添加之前,先弄清楚是哪家机构在签发你的证书,否则你可能会把自己的服务商也挡在门外。常见取值:

关于 Cloudflare 的一点提醒:如果你使用 Cloudflare 自带的 SSL(即橙云代理模式),Cloudflare 会代你通过多家机构签发证书——所以请确保你添加的任何 CAA 记录仍然允许这些机构,或者干脆把 CAA 交给 Cloudflare 管理。如果不确定,可以问搭建你主机环境的人,或在浏览器里查看证书(点击挂锁,再查看证书的颁发者)。

Cloudflare 上的操作步骤

  1. 登录 Cloudflare,选择你的域名。
  2. 在左侧菜单中进入你的 DNS 设置(找 DNS / Records)。
  3. 点击 Add record
  4. 将**类型(Type)**设为 CAA
  5. Name 字段中输入: @ @ 代表域名的根。Cloudflare 会自动为你补上域名,因此不要在后面填写你的域名。
  6. Cloudflare 把 CAA 字段做成了友好的菜单。按如下设置:
    • Flags0
    • Tag:选择 Only allow specific hostnames(这就是 issue 标签)
    • CA domain name(值):letsencrypt.org
  7. TTL 保持为 Auto
  8. 点击 Save

允许多家证书颁发机构

大多数域名随着时间会用到不止一家机构——比如现在用免费证书、以后用付费证书,或为另一项服务用另一家。要允许多家,请为每一家各添加一条独立的 CAA 记录。它们都使用相同的 @ 名称、0 标志位和 issue 标签,只有 CA 域名值不同:

这两条合起来表示:这两家机构都允许,其他都不行。 你不要把它们合并到一条记录里。

Cloudflare 上人们常踩的坑

验证是否生效

保存并传播完成后,运行本站的免费检测。它会用通俗的语言告诉你 CAA 记录是否已就位、你允许了哪些机构。

完成了? 免费检查您的域名 以确认设置已生效——并查看您在全部 34 项检查中的完整评级。