为Elastic Beanstalk配置AWS Route 53时遇到域名无法解析问题
故障排查与解决步骤
第一步:验证域名DNS传播状态
- 本地执行DNS查询验证解析结果:Windows系统运行
nslookup 你的自定义域名,macOS/Linux系统运行dig 你的自定义域名,确认返回的IP是否和Route53测试记录得到的EB环境IP一致 - 若本地查询无结果,属于DNS记录全球传播延迟,Route53记录默认TTL为300秒,最长等待不超过48小时即可生效
- 若本地查询返回的IP正确,直接访问该IP确认是否可以正常打开站点,如可正常访问说明故障出在EB的域名绑定配置
第二步:校验Elastic Beanstalk访问配置
- 进入EB控制台对应环境的「配置」-「应用程序负载均衡器」页面,确认HTTP 80端口监听器已正常启用
- 检查负载均衡器关联的安全组规则,确认入站规则允许0.0.0.0/0访问80端口
- 进入EB环境的「域名」配置页,确认你的自定义域名已添加到允许的域名列表中,避免负载均衡器拒绝对应HOST头的请求
第三步:修正Route53配置错误
- 进入Route53「注册域名」页面,打开你的域名详情,确认名称服务器字段和你当前托管区域给出的4条NS记录完全一致,无拼写错误或遗漏
- 清空当前托管区域中所有遗留的CloudFront相关别名记录、AAAA记录、HTTPS相关配置记录,仅保留指向EB环境的A别名记录、系统默认生成的NS和SOA记录
- 若确认此前误删了注册域名时自动生成的默认托管区域,可重置托管区域配置:先删除当前的自定义托管区域,再重新为你的域名创建新的托管区域,将新托管区域生成的NS记录同步更新到注册域名的名称服务器配置中,再重新添加指向EB环境的A别名记录
第四步:清除缓存重试访问
- Windows系统执行命令
ipconfig /flushdns清除本地DNS缓存 - macOS最新版本执行命令
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder清除本地DNS缓存 - 清除浏览器缓存后使用无痕模式重新访问自定义域名
如果以上所有步骤执行完毕仍无法正常访问,可提交AWS支持工单核查域名注册局的NS记录同步状态。
内容的提问来源于stack exchange,提问作者MrNooNoo
相关产品推荐
相关产品推荐

