CAA 记录构建器 (DNS 证书颁发机构授权)
网络
CAA 记录 (RFC 8659,原 6844) 是一种 DNS TXT 类型记录,告诉公共证书颁发机构哪些 CA 可以为你的域名签发证书。按 CA/Browser Forum Baseline Requirements,每个 CA 在签发前必须检查 CAA — 若记录存在但其不在列表中,将拒绝签发。这是对不当或错误签发的小而有力的防御,免费。定义了三个 tag: `issue` 授权一个 CA 签发常规证书,`issuewild` 授权一个 CA 签发通配符证书 (若缺省则与 `issue` 相同),`iodef` 提供事故通知联系 (mailto:/https:)。每条记录带 flags 字节; 设置 critical 位 (128) 让 CA 在无法理解相关参数时拒绝。本工具构建记录并以两种格式输出: 完整 BIND 区域文件语法 (粘贴到主区域),分行 tag/value 格式 (面向单独询问的控制面板)。常见 CA 列表让你一键添加 Let's Encrypt、DigiCert、Sectigo、Google、Amazon 等。特殊值 `;` 表示 '禁止所有 CA' — 当前不需签发时的强默认。
记录
添加常见 CA (作为 issue 记录)
BIND 区域格式
example.com. IN CAA 0 issue "letsencrypt.org"
example.com. IN CAA 0 issuewild "letsencrypt.org"
example.com. IN CAA 0 iodef "mailto:security@example.com"tag / 值 行
面向单独询问 flags、tag、value 的 DNS 控制面板。格式: flags tag 值
0 issue "letsencrypt.org"
0 issuewild "letsencrypt.org"
0 iodef "mailto:security@example.com"关于 CAA 记录
CAA 即 Certificate Authority Authorization (RFC 8659)。是一种 DNS 记录,告诉公共 CA 是否可为你的域名签发证书。CA 必须在每次签发时检查 CAA,未列入时拒绝。本工具输出两种格式: 带正确转义可直接粘贴到区域文件的完整 BIND 语法,以及面向控制面板 (Cloudflare、Route53 等) 的 flags / tag / value 表。issue 或 issuewild 中的特殊值 `;` 表示 '禁止所有 CA' — 当前未使用 TLS 时的强默认。CAA 是分层的: apex 上的记录覆盖所有子域 (除非下面有更具体的 CAA 集)。由于 CA 缓存,记录完全传播最多需 8 小时。
使用方法
- 输入 apex 或子域名 (CAA 从叶向上查询,apex 设置通常覆盖所有)。
- 点击常见 CA 按钮添加初始 `issue` 记录。按需编辑 tag、值或 critical 标志。
- 若要签发通配符证书,添加 `issuewild` 记录。否则省略 — 仅 `issue` 不覆盖通配符。
- 添加 mailto: 或 https: 地址的 `iodef` 记录,让 CA 可通知你政策违规。
- 把 BIND 输出粘贴到区域文件 (若 DNS 控制面板分别询问 tag 和 value,用分行格式)。
常见问题
- CAA 记录放哪里?
- 放在你要保护的同一域名。CAA 查询从请求名向 apex 上溯 — `api.example.com` 的证书请求依次查询 `api.example.com`、`example.com`、根。多数人在 apex 放一组 CAA 覆盖所有子域。子域级 CAA 仅当你希望那里使用不同策略时才需要。
- `issue letsencrypt.org` 会阻止其他 CA 签发通配符吗?
- 会 — 若有 `issue` 记录且无 `issuewild`,`issue` 也约束通配符。但若任何 `issuewild` 存在,则通配符遵循 `issuewild`。最安全的模式是当你两类都需要时显式列出两者,或永远不需通配符时仅添加 `issue`。允许常规却拒绝通配符的常见做法是在 `issuewild` 中放 `;`。
- critical 标志做什么?
- 比特 7 (值 128) 是 issuer-critical 标志。在未知 tag 上设置时 CA 必须拒绝签发。今天仅定义了 `issue`、`issuewild`、`iodef`,critical 主要影响未来兼容性。一般场景请关闭 (flags = 0); 仅当刻意指定所有 CA 必须理解的 tag 时才用 128。
- 新 CAA 记录多快被 CA 遵守?
- 按 Baseline Requirements,CA 在签发时检查 CAA,先前值缓存的 TTL 上限为 8 小时。所以新记录在所有 CA 完全生效可能要 8 小时。为避免旧缓存的否定值阻止签发,初次设置时记录 TTL 设为 5-60 分钟,稍后再增大。
- DNSSEC 会影响 CAA 吗?
- 若你的区域用 DNSSEC 签名,CA 必须验证签名并将未签名响应视为缺失。错误配置的 DNSSEC 会破坏 CAA 检查并阻断证书续期。在依赖 CAA 强制前用 dnsviz.net 之类工具验证区域。
相关工具
IP 地址检查器
输入 IPv4 或 IPv6 地址,查看其类、scope(私有 / 公共 / 回环 / 链路本地)、十进制值、二进制、反向 DNS 表示以及 /32 CIDR。
端口号参考
约 60 个标准 TCP / UDP 端口号的可搜索速查表 — 从 22 (SSH)、80 (HTTP) 到 6379 (Redis)、27017 (MongoDB)。
DNS 记录参考
可搜索的 DNS 记录类型速查表 — A、AAAA、CNAME、MX、TXT、NS、SOA、PTR、SRV、CAA、DNSSEC、SVCB / HTTPS — 含示例。
子网计算器(IPv4 / CIDR)
解析 IPv4 CIDR:网络地址、广播、子网掩码、通配符、主机范围、地址类。附二进制细节与公网/私网判定。
User Agent 解析器
把 User-Agent 字符串解析为浏览器、引擎、操作系统、设备、CPU。识别 20+ 种爬虫,含 GPTBot、ClaudeBot、PerplexityBot。
HTTP 状态码参考
可搜索的全部 HTTP 状态码(1xx-5xx)参考 — 含概要、RFC、使用时机与常见陷阱。