DNS 验证(DNS-01)是 ACME 协议中用于证明域名控制权的一种方式,适用于主域名及任意子域名(如 api.example.com、mail.example.com)。其核心逻辑是:CA 要求你在该子域名的 DNS 区域中添加一条由 CA 指定的 TXT 记录(如 _acme-challenge.api.example.com),验证成功后即确认你对该子域名具备管理权限。
与 HTTP-01 验证不同,DNS-01 不依赖 Web 服务器可访问性,因此特别适合以下场景:子域名未指向公网服务器(如内网 API)、使用 CDN 或 WAF 后无法通过 HTTP 回源验证、或需批量签发泛域名证书(*.example.com)——此时必须通过 DNS 验证主域名,且所有子域名继承该授权。
实际部署中,多数自动化工具(如 Certbot + DNS 插件、acme.sh)支持主流 DNS 提供商(如 Cloudflare、阿里云 DNS、腾讯云 DNSPod)的 API 自动写入/删除 TXT 记录。若 DNS 提供商不开放 API,则需手动添加并等待 TTL 生效(通常 60–300 秒),再触发 CA 检查。
dev.example.com)CNAME 到第三方 SaaS 平台(如 Vercel、GitHub Pages),而你无权操作其 DNS 区域,则无法完成 DNS 验证;此时应改用 HTTP-01(若平台支持 /.well-known/acme-challenge 路径)或联系平台启用内置证书管理。_acme-challenge.test.sub.example.com 添加记录,不可误写为 _acme-challenge.sub.example.com 或遗漏前缀下划线。*.example.com)仅覆盖一级子域名,不包含 www.api.example.com 等二级子域名;如需覆盖,须单独为该二级子域名申请或使用多域名(SAN)证书。加密您的网站,赢得客户信任!