为什么我在 Route 53 上托管的应用程序或网站无法访问?
我正在 Amazon Route 53 上运行应用程序或网站。但是,我无法访问我的应用程序或网站。
解决方法
**注意:**如果在运行 AWS 命令行界面(AWS CLI)命令时收到错误,请确保您使用的是最新版本的 AWS CLI。
检查是否存在域状态问题
1. 运行以下命令来检查域状态:
whois domain_name |grep 'status'
如果域状态(可扩展预置协议代码)为 inactive、ServerHold 或 ClientHold,则该域无法解析。
2. 如看到异常域状态代码,包括 inactive、ServerHold 或 ClientHold,请联系您的注册商。
要确定域注册商,请运行下列命令:
whois domain_name |grep 'Registrar'
在您的首选 whois 域注册查询工具中查询通用或特定国家/地区的顶级域(TLD)。
检查是否存在名称服务器问题
1. 确认您的注册商拥有正确配置的授权名称服务器。要查找权威名称服务器,请检查公共托管区的名称服务器记录集中的 authoritative_nameserver 值。
2. 如果您使用 Route 53 作为 DNS 服务提供商,请验证四个名称服务器的配置是否正确。
要检查名称服务器配置,请运行下列命令:
whois domain_name |grep 'Name Server'
例如,whois amazon.com |grep 'Name Server' 的输出返回以下输出:
Name Server: NS1.P31.DYNECT.NET Name Server: NS2.P31.DYNECT.NET Name Server: NS3.P31.DYNECT.NET Name Server: NS4.P31.DYNECT.NET Name Server: PDNS1.ULTRADNS.NET Name Server: PDNS6.ULTRADNS.CO.UK
检查是否存在记录集问题
要检查您是否在 DNS 服务提供商的托管区中创建了所需的别名(A)记录,请运行下列命令:
dig Domain_name record_type
例如,$dig amazon.com A 返回下列输出:
; <<>> DiG 9.10.6 <<>> amazon.com +question ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29804 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;amazon.com. IN A ;; ANSWER SECTION: amazon.com. 44 IN A 54.239.28.85 amazon.com. 44 IN A 205.251.242.103 amazon.com. 44 IN A 176.32.103.205 ;; Query time: 4 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Fri Mar 19 20:28:51 IST 2021 ;; MSG SIZE rcvd: 87
注意:记录类型在相应资源记录集的类型列中列出。有关详细信息,请参阅支持的 DNS 记录类型。
检查是否存在源问题
对于本地浏览器或移动设备:
- 清除浏览器缓存,然后尝试访问该域。
- 请检查您是否正在请求正确的域。移动设备浏览器在请求域时可能会附加 www。
对于连接到使用 VPC .2 Resolver 的 Amazon Virtual Private Cloud(Amazon VPC)或 AWS 资源的本地计算机:
如果您的私有和公共托管区具有重叠的命名空间(example.com 和 accounting.example.com),则 Resolver 会根据最具体的匹配项路由流量。当有匹配的私有托管区,但没有与请求中的域名和类型相匹配的记录时,Resolver 不会转发请求。相反,它会向客户端返回 NXDOMAIN(不存在的域)错误。如果您无意中创建了具有重叠命名空间的私有托管区,则可以删除该私有托管区。
检查是否存在记录缓存问题
1. 检查 DNS 解析器返回的记录值是否与从权威名称服务器返回的值相匹配。如果域名未解析为预期的 IP 地址,则 DNS 解析器可能已缓存了该值:
dig domain_name record_type @authorative_name_server
例如,$dig amazon.com @NS1.P31.DYNECT.NET 返回下列输出:
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.64.amzn1 <<>> amazon.com @NS1.P31.DYNECT.NET ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63711 ;; flags: qr aa rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;amazon.com. IN A ;; ANSWER SECTION: amazon.com. 60 IN A 205.251.242.103 amazon.com. 60 IN A 54.239.28.85 amazon.com. 60 IN A 176.32.103.205 ;; Query time: 2 msec ;; SERVER: 208.78.70.31#53(208.78.70.31) ;; WHEN: Fri Mar 19 15:08:52 2021 ;; MSG SIZE rcvd: 76
如果域解析为非预期 IP 地址,请清除浏览器缓存。
2. 检查您在公共解析器上看到的结果是否相同:
dig domain @public_resolver_Ip
例如,$dig amazon.com @8.8.8.8 返回下列输出:
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.64.amzn1 <<>> amazon.com @8.8.8.8 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26860 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;amazon.com. IN A ;; ANSWER SECTION: amazon.com. 15 IN A 205.251.242.103 amazon.com. 15 IN A 54.239.28.85 amazon.com. 15 IN A 176.32.103.205 ;; Query time: 1 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Fri Mar 19 15:09:41 2021 ;; MSG SIZE rcvd: 76
如果公共解析器返回预期答案,则问题可能与本地计算机上的 DNS 解析器有关。
检查是否存在 DNSSEC 问题
确认您为您的域正确配置了 DNSSEC。要检查域是否存在 DNSSEC 问题,请使用 DNSSEC 分析器工具或您的首选工具。
传递 DNSSEC 来看看您是否获得了预期结果:
dig domain_name +cd
例如,$ dig amazon.com +cd 返回下列输出:
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.64.amzn1 <<>> amazon.com +cd ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55636 ;; flags: qr rd ra cd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;amazon.com. IN A ;; ANSWER SECTION: amazon.com. 29 IN A 205.251.242.103 amazon.com. 29 IN A 176.32.103.205 amazon.com. 29 IN A 54.239.28.85 ;; Query time: 2 msec ;; SERVER: 1.1.1.1#53(1.1.1.1) ;; WHEN: Fri Mar 19 15:10:13 2021 ;; MSG SIZE rcvd: 76
检查 Web 服务器是否存在问题
如果您在 curl 命令输出中看到域的预期 IP 地址,请检查您是否收到来自服务器的预期 HTTP 响应(在互联网工程任务组网站上):
- 1XX(信息)
- 2XX(成功)
- 3XX(重定向)
- 4XX(客户端错误)
- 5XX(服务器错误)
如果 DNS 解析按预期运行但服务器没有响应,则问题出在托管网站或应用程序的 Web 服务器上。要检查是否存在 Web 服务器问题,请运行下列命令:
curl -Iv http://domain_name:Port/Path
例如,$ curl -Iv http://amazon.com:80 返回下列输出:
* Rebuilt URL to: http://amazon.com:80/ * Trying 176.32.103.205... <--- Indicates no issues with the DNS resolution as we are getting expected IP address for the domain amazon.com. * TCP_NODELAY set * Connected to amazon.com (176.32.103.205) port 80 (#0) > HEAD / HTTP/1.1 > Host: amazon.com > User-Agent: curl/7.61.1 > Accept: */* > < HTTP/1.1 301 Moved Permanently HTTP/1.1 301 Moved Permanently < Server: Server Server: Server < Date: Fri, 19 Mar 2021 15:11:18 GMT Date: Fri, 19 Mar 2021 15:11:18 GMT < Content-Type: text/html Content-Type: text/html < Content-Length: 179 Content-Length: 179 < Connection: keep-alive Connection: keep-alive < Location: https://amazon.com/ Location: https://amazon.com/ < * Connection #0 to host amazon.com left intact
注意:****端口值是网站或应用程序配置为侦听的 Web 服务器端口。
相关内容
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 2 年前