在测试您的域并重新阅读您的问题后,我意识到这很可能是问题所在:
使用名称为 mydomain.com 别名的新 A 记录创建托管区域:
没有价值:
由于您只是在使用单个 EC2 实例,因此您不想使用别名。正如Route53 documentation 所述,别名仅适用于弹性负载均衡器、S3 存储桶、CloudFront (CDN) 端点和同一域中的记录。
您可能想要做的是删除您已定义的所有 A 记录,然后为 mydomain.com 创建一个 CNAME(不是别名),其值为您的实例的 EC2 DNS 记录。您可能还想创建一个 www.mydomain.com 记录,该记录也是您的 EC2 DNS 记录的 CNAME。
一旦您创建了这些 CNAME 记录,那么 nslookup 应该会为您提供如下结果:
$ nslookup mydomain.com
Server: 10.1.2.11
Address: 10.1.2.11#53
Non-authoritative answer:
mydomain.com canonical name = ec2-111-222-123-1.eu-west-1.compute.amazonaws.com.
Name: ec2-111-222-123-1.eu-west-1.compute.amazonaws.com
Address: 111.222.123.1
不要忘记,当您对 DNS 记录进行更改时,这些更改需要一些时间才能在您测试时生效。 Route53 默认的 TTL 为 300 秒(5 分钟),因此除非您更改 TTL,否则您应该会在 5 分钟内看到更改。如果你使用 dig 而不是 nslookup,你可以看到 TTL 还剩下多少秒:
$ dig www.news.com
...
;; ANSWER SECTION:
www.news.com. 234 IN CNAME phx1-rb-gtm3-tron-xw-lb.cnet.com.
这里的“234”表示本地DNS服务器将在234秒后过期这个结果,并再次查询权威DNS服务器。在本地 DNS 服务器下次查找 mydomain.com 或 www.mydomain.com 之前,您需要等待该值达到 0。
编辑:
我建议在 Route53 中仔细检查您的域名服务器并在您的域注册中验证它们。如果我在您的域上执行 whois,则会显示:
$ whois trueweekends.in
...
Name Server:NS-1089.AWSDNS-08.ORG
Name Server:NS-765.AWSDNS-31.NET
Name Server:NS-431.AWSDNS-53.COM
Name Server:NS-1886.AWSDNS-43.CO.UK
我应该能够查询这些名称服务器中的任何一个,并从它们那里获得相同名称服务器的列表。例如,看一下同样托管在 AWS 上的域 todoist.com:
$ whois todoist.com
...
Name Server: NS-938.AWSDNS-53.NET
Name Server: NS-1046.AWSDNS-02.ORG
Name Server: NS-1799.AWSDNS-32.CO.UK
Name Server: NS-158.AWSDNS-19.COM
如果我查询其中一个名称服务器以获取与 todoist.com 关联的名称服务器列表,那么我会得到:
$ dig @NS-938.AWSDNS-53.NET todoist.com NS
...
;; ANSWER SECTION:
todoist.com. 172800 IN NS ns-1046.awsdns-02.org.
todoist.com. 172800 IN NS ns-158.awsdns-19.com.
todoist.com. 172800 IN NS ns-1799.awsdns-32.co.uk.
todoist.com. 172800 IN NS ns-938.awsdns-53.net.
如果我对您的域做同样的事情,我不会得到任何结果。以下查询都没有答案:
$ dig @NS-1089.AWSDNS-08.ORG trueweekends.in NS
$ dig @NS-765.AWSDNS-31.NET trueweekends.in NS
$ dig @NS-1799.AWSDNS-32.CO.UK trueweekends.in NS
$ dig @NS-158.AWSDNS-19.COM trueweekends.in NS
如果您 100% 确定您的域中列出了正确的名称服务器(我上面提到的那些与 Route53 显示的您应该使用的匹配)并且您确定您在 Route53 中的记录设置正确,那么我建议联系 AWS 支持,因为听起来 Route53 无法正确处理您的域存在某种问题。