AWS ACM 证书 DNS 验证一直 Pending validation 时,检查权威 NS、CNAME 拼接、遗漏域名、CAA、DNSSEC 和 72 小时超时,并完成签发与续期验收。
直接答案:AWS Certificate Manager(ACM)证书一直显示 Pending validation,不要只看 DNS 面板里“记录已保存”。先在证书所在区域复制 ACM 当前给出的每一组验证 CNAME,再从公网查询实际委派的权威 NS、CNAME、CAA 和 DNSSEC。最常见的阻塞是记录加在未被域名委派的 DNS 区域、主机名被服务商重复拼接域名、某个备用域名漏配、CAA 不允许 Amazon 签发,或 DNSSEC 链已经断裂。
这些检查都是只读操作,不会停机,也不会产生 ACM 公共证书费用。删除旧证书、修改 DNS 或替换负载均衡/CDN 上的证书可能中断 HTTPS,因此应在查明原因后再改。ACM 在请求生成验证值后的 72 小时内仍无法验证,会把请求变为 Validation timed out;修好 DNS 后需要重新请求证书,不能手动触发一次即时验证。
先确认区域和每个域名
进入 AWS 控制台“证书管理器”,把右上角区域切换到创建证书的区域,再打开目标证书。CloudFront 使用的 ACM 证书必须位于美国东部(弗吉尼亚北部)区域。记录证书 ARN、状态,以及“域”列表中每个域名的验证状态、CNAME 名称和值。
证书含根域名、www 或其他备用名称时要逐行检查。根域名和通配符有时复用同一验证记录,其他完整域名可能有独立记录;只验证其中一行,整张证书仍会等待。
确认 CNAME 加在真正生效的 DNS 区域
把示例域名换成你的根域名,先查公网委派的权威名称服务器:
dig NS example.com +short
Windows 可使用:
nslookup -type=NS example.com
输出必须与实际修改记录的 DNS 服务商或 Route 53 公有托管区中的 NS 一致。常见错误是修改了旧托管区、Route 53 私有托管区,或注册商仍委派到另一组名称服务器。ACM 公共证书只能通过公网可解析的记录验证。
逐字符核对 ACM 验证 CNAME
从 ACM 详情复制验证记录名,执行只读查询:
dig +short _TOKEN.example.com CNAME
dig @1.1.1.1 +short _TOKEN.example.com CNAME
dig @8.8.8.8 +short _TOKEN.example.com CNAME
三个查询都应返回 ACM 给出的 *.acm-validations.aws 值。没有输出通常说明记录未进入正确的公有区域;出现 _TOKEN.example.com.example.com 则说明 DNS 面板自动追加了根域名,而你又填写了完整名称。
验证 CNAME 不是网站访问记录。使用 Cloudflare 等代理 DNS 时应保持“仅 DNS”,不要让代理改写响应。还要确认同一个验证名称下没有冲突的 TXT 或其他记录。
检查 CAA 是否允许 Amazon 签发
dig CAA example.com +short
dig CAA www.example.com +short
没有 CAA 记录通常不会阻止签发;一旦配置了 CAA,就必须允许 ACM 使用的证书颁发机构。不要照抄社区中的单条 CAA 值覆盖现有策略,应先阅读 AWS 当前文档并与证书策略负责人确认。错误修改会影响同一域名下其他证书申请。
排除 DNSSEC 链断裂
普通查询返回 SERVFAIL,但关闭验证后能看到 CNAME,通常说明 DNSSEC 信任链有问题:
dig @8.8.8.8 _TOKEN.example.com CNAME
dig @8.8.8.8 _TOKEN.example.com CNAME +cd
dig DS example.com +short
dig DNSKEY example.com +short
第一条失败而第二条成功,且父区仍有 DS 记录时,不要删除 ACM CNAME。应核对注册商处 DS 与当前 DNS 区域 DNSKEY。若明确不再使用 DNSSEC,按服务商流程安全移除父区 DS;若仍需 DNSSEC,则修复签名或密钥。错误地只关闭一侧可能让整个域名无法解析。
按结果处理
| 结果 | 处理 | 验证 |
|---|---|---|
| 权威 NS 不是修改的区域 | 在真正权威区域添加记录 | 权威 NS 与公共解析器均返回目标值 |
| CNAME 重复根域名 | 按服务商规则只填主机标签 | 完整 ACM 名称能直接解析 |
| 部分域名仍 Pending | 为每个独立验证名称补齐记录 | ACM 域列表每行都验证成功 |
| CAA 限制签发 | 按 AWS 官方要求调整现有策略 | CAA 查询允许签发 |
| DNSSEC 返回 SERVFAIL | 修复 DS/DNSKEY 链或正式停用 DNSSEC | 不开 +cd 也返回 NOERROR |
| 已超过 72 小时并超时 | 保留正确 CNAME,重新请求证书 | 新请求进入 Issued |
签发后的验收与回退
- 确认状态为
Issued,把正确区域的证书关联到 CloudFront、负载均衡或目标服务。 - 从公网访问 HTTPS,检查返回证书的域名、有效期和证书链。
- 保留验证 CNAME;DNS 验证证书在满足使用条件时依靠它自动续期。
修改前导出或截图保存原 DNS、CAA、DNSSEC 与服务证书关联;一次只改一个阻塞点。新证书签发并绑定成功前,不要删除仍在提供 HTTPS 的旧证书。若修改后解析异常,恢复原记录;若 DNSSEC 处理不确定,停止操作并让注册商或 DNS 服务商支持介入。
ACM、Route 53、CloudFront 和负载均衡属于 AWS 官方能力。黑鲨云提供云账号开通和代理充值服务,不代表 AWS 处理证书验证,也不能绕过域名所有权验证。需要确认 AWS 账号与充值流程时,可联系 Telegram @heishayun。
相关教程
官方来源
- AWS:DNS validation
- AWS:Troubleshoot DNS validation problems
- AWS Knowledge Center:Resolve CNAME records
- AWS:Troubleshoot certificate requests
- AWS:Managed certificate renewal
资料核验日期:2026 年 9 月 17 日。控制台入口、证书有效期和产品规则可能调整,以 AWS 当前控制台与官方文档为准。本稿未发现需要补充确认的黑鲨云业务事实。

