DNSSEC验证失败、域名解析异常及Let's Encrypt证书无法生成问题求助
DNSSEC验证失败、域名解析异常及Let's Encrypt证书无法生成问题求助
Hi PawelGIX, sorry to hear you're stuck with these frustrating issues right after transferring your domain—let's work through them step by step, since they're almost certainly linked to the DNSSEC problem you mentioned.
1. 先解决DNSSEC的核心问题
DNSSEC配置错误是你所有问题的根源,咱们从这里入手:
- 检查新注册商的DS记录:登录新域名服务商的后台,找到DNSSEC管理模块,核对里面的DS记录是否正确。这些记录必须和你的域名权威DNS服务器上的DNSKEY记录匹配。如果没有DS记录,或者记录是旧注册商遗留的无效条目,你需要要么添加从当前DNSKEY生成的正确DS记录,要么删除无效的记录。
- 联系旧注册商清除残留DS记录:域名转移后,部分旧注册商不会自动清理该域名的DS记录,这会导致签名冲突,破坏DNSSEC验证。你需要联系旧服务商,要求删除所有和
salonasruna.com相关的DS记录。 - 用本地工具验证配置:在终端运行
dig +dnssec salonasruna.com命令,查看输出里的DNSKEY记录,核对注册商的DS记录是否和这些密钥的哈希值匹配。如果看到BADVERIFY这类验证失败的提示,就坐实了DNSSEC配置有误。
2. 解决域名解析传播异常
80小时还没完成解析传播明显不符合常规,这基本是DNSSEC验证失败导致的——递归DNS服务器会拒绝缓存验证失败的域名记录,看起来就像传播没完成:
- 刷新本地DNS缓存:修复DNSSEC后,先清空本地缓存,让设备重新获取最新记录:
- Windows系统:执行
ipconfig /flushdns - macOS系统:执行
sudo dscacheutil -flushcache - Linux系统:执行
sudo systemd-resolve --flush-caches
- Windows系统:执行
- 用公共DNS测试解析:分别运行
dig salonasruna.com @8.8.8.8和dig salonasruna.com @1.1.1.1,检查主流公共解析服务器是否返回正确的域名记录。如果还是不对,再确认你的权威DNS服务器上的A/AAAA/CNAME等记录是否配置正确,虽然80小时足够覆盖绝大多数TTL,但也可以检查下TTL是否设置得过高。
3. 修复Let's Encrypt证书生成问题
Let's Encrypt的证书验证(无论是HTTP-01还是DNS-01挑战)都依赖域名能被正确解析且DNSSEC验证通过。解决上面的问题后,证书生成应该就能恢复,这里还有几个小技巧:
- 先做模拟测试:运行
certbot certonly --dry-run -d salonasruna.com来模拟证书申请,这会明确告诉你验证失败的原因——如果还是DNS相关问题,会给出清晰的解析错误或DNSSEC验证失败提示。 - 核对挑战配置:如果用HTTP-01挑战,确保你的web服务器在80端口能被正常访问;如果用DNS-01挑战,确认你的DNS服务商支持快速添加TXT记录,且这些记录已经被DNSSEC签名(让Let's Encrypt的解析服务器能验证通过)。
等DNSSEC配置正确、解析传播完成后,这三个问题应该都会自动解决。如果你在操作过程中遇到具体的错误提示,可以随时提出来,我帮你进一步排查!
备注:内容来源于stack exchange,提问作者PawelGIX




