You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Route53裸域名无法访问问题排查求助

AWS Route53裸域名无法访问问题排查求助

看起来你遇到了裸域名(banuka.com)无法访问,但子域名(nginx.banuka.com)正常的问题,结合你提供的dig结果,我来帮你一步步排查可能的原因:

可能的排查方向和解决方法

1. 先确认Route53中的裸域名A记录是否正确配置

从你的dig结果来看,查询banuka.com时ANSWER段为空,只有SOA记录,这说明Route53的权威DNS目前没有返回该域名的A记录。请检查:

  • 在Route53托管区中,裸域名的A记录是否确实创建成功:记录名应该留空或者填写@(Route53中@代表裸域名),记录类型为A,值是你的EC2公网IP,并且状态显示为已生效
  • 有没有误将裸域名的记录创建成www.banuka.com之类的,导致裸域名本身没有对应的解析记录

2. 验证Route53权威DNS的直接解析结果

绕过本地递归DNS,直接查询Route53的权威服务器,看看是否能返回A记录。在终端执行以下命令:

dig banuka.com @ns-920.awsdns-51.net

如果这个命令能返回正确的EC2 IP,说明是本地DNS缓存或者你使用的递归DNS服务器还没更新记录,等待TTL过期(默认Route53的TTL可能是300秒,也就是5分钟),或者手动刷新本地DNS缓存即可。

如果这个命令也返回空的ANSWER段,那肯定是Route53的记录配置有问题,回到第一步重新检查。

3. 确认Namecheap的NS记录是否完全同步

检查你在Namecheap中设置的DNS服务器,是否和Route53托管区提供的全部4个NS记录完全一致,有没有拼写错误或者遗漏。可以通过以下命令验证当前域名的NS记录:

dig ns banuka.com

返回的NS记录应该和Route53托管区页面显示的完全相同,否则域名解析请求还没有完全转到Route53,导致裸域名的记录无法被查询到。

4. 检查Nginx的server配置(虽然子域名正常,但也需要确认)

子域名能访问说明EC2和安全组没问题,但要确保Nginx的server块同时支持裸域名:
打开你的Nginx配置文件,确认server_name指令包含banuka.com,比如:

server {
    listen 80;
    server_name banuka.com nginx.banuka.com; # 同时包含裸域名和子域名
    root /usr/share/nginx/html;
    index index.html index.htm;
    # 其他配置...
}

如果server_name只写了nginx.banuka.com,那即使域名解析正常,Nginx也不会处理裸域名的请求,会返回默认页面或者错误。修改后记得重启Nginx:

sudo systemctl restart nginx

5. 排查DNS propagation延迟

DNS记录的全球生效可能需要一些时间,尤其是刚修改NS记录的情况下。如果前面的检查都没问题,可以等待30分钟到1小时,让DNS记录完全传播,再尝试访问裸域名。

备注:内容来源于stack exchange,提问作者Jananath Banuka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 11:48:03