使用教程 · DNS 验证
DNS 验证申请 SSL 证书:通配符证书与 TXT 记录
DNS-01 是 Let's Encrypt 的另一种域名验证方式:通过添加一条 TXT 解析记录证明域名控制权。 它不依赖 80 端口,也是通配符证书唯一可用的验证方式。
适用场景
什么时候应该用 DNS 验证
- 申请通配符证书(
*.example.com)—— 仅 DNS 验证支持; - 服务器 80 端口不可公网访问(内网服务器、CDN 前置、运营商封锁);
- 域名解析不在本机、不希望改动 A 记录指向。
验证原理
DNS-01 是怎么工作的
应用调用 DNS 服务商 API,为 _acme-challenge.{域名} 自动添加一条 TXT 验证记录;
Let's Encrypt 查询该记录完成验证后,应用自动清理记录。全程无需人工干预。
若不想提供 API 密钥,也可选择手动添加解析:应用给出主机记录与记录值,
到服务商后台添加、生效后点击「继续」。
服务商配置
内置的 DNS 服务商与所需凭证
| 服务商 | 所需凭证 | 获取位置 | 最小权限 |
|---|---|---|---|
| 阿里云 DNS | AccessKey ID + AccessKey Secret | 阿里云 RAM 访问控制 → 创建子用户 | AliyunDNSFullAccess |
| DNSPod / 腾讯云 | API Token(ID + Token) | DNSPod 控制台 → 密钥管理(dnsapi.cn Token) | 域名解析读写 |
| Cloudflare | API Token | Cloudflare 控制台 → My Profile → API Tokens | Zone:DNS:Edit |
密钥仅保存在本机系统安全存储(Windows DPAPI / macOS 钥匙串 / Linux Secret Service), 仅在申请与续期时用于添加 / 删除 TXT 记录,不会上传到任何服务器。
通配符证书
通配符证书怎么申请
在「申请证书」页的主域名处输入 *.example.com 即可,一张证书同时覆盖
主域名及所有子域名。注意:通配符证书必须使用 DNS 验证,且测试环境
与正式环境建议先各验证一次流程。
常见问题
DNS 验证失败排查
- 验证超时:API 密钥无权限或已过期;或记录传播较慢,可稍后重试;
- 密钥不生效:确认已按上表授予最小权限(阿里云
AliyunDNSFullAccess、CloudflareZone:DNS:Edit); - 申请被拒(正式环境):触发 Let's Encrypt 速率限制(每域每周 50 张),可先用测试环境验证流程。
验证失败的完整排查清单见 DNS 验证失败怎么办。