执行associate-alias时提示DNS TXT记录无效/缺失的问题求助
解决CloudFront别名转移时的TXT记录验证失败问题
核心排查与修复步骤
确认TXT记录格式绝对准确
确保TXT记录的名称为_dev.example.net,值为目标CloudFront分发的域名(d*************.cloudfront.net):- 不要手动给值添加引号,部分DNS服务商自动处理引号,额外添加会导致验证不通过
- 记录类型必须严格为TXT,不能是其他类型
排查私有托管区的公网可见性
CloudFront验证TXT记录时依赖公网DNS查询,若你的TXT记录仅存在于私有托管区,公网无法访问该记录就会触发报错。解决方式:- 在对应的公网托管区添加完全相同的
_dev.example.netTXT记录 - 等待10-30分钟让公网DNS生效,可通过指定公网DNS工具验证:
nslookup -q=TXT _dev.example.net 8.8.8.8
- 在对应的公网托管区添加完全相同的
确认TXT记录的全网传播状态
不要仅在本地或VPC内查询,需确保公网全域能解析到这条记录。可以换用不同地区、不同运营商的DNS服务器测试,确认记录已生效。检查别名转移的前置状态
- 原分发的
dev.example.net别名暂时不要移除,CloudFront对“转移别名”和“新增别名”的验证逻辑不同 - 目标分发的状态必须为
Deployed,不能处于In Progress状态
- 原分发的
重新执行关联命令
完成以上验证后,重新运行命令:aws cloudfront associate-alias --alias dev.example.net --target-distribution-id E37***********
额外提示
若私有托管区需保留,完成别名转移后可删除公网托管区的TXT记录,不影响后续服务运行。
内容的提问来源于stack exchange,提问作者Jamie Hoffmann
相关产品推荐
相关产品推荐

