为什么我在 Route 53 上托管的应用程序或网站无法访问?

4 分钟阅读
0

我正在 Amazon Route 53 上运行应用程序或网站。但是,我无法访问我的应用程序或网站。

解决方法

**注意:**如果在运行 AWS 命令行界面(AWS CLI)命令时收到错误,请确保您使用的是最新版本的 AWS CLI

检查是否存在域状态问题

1.    运行以下命令来检查域状态:

whois domain_name |grep 'status'

如果域状态(可扩展预置协议代码)为 inactiveServerHoldClientHold,则该域无法解析。

2.    如看到异常域状态代码,包括 inactiveServerHoldClientHold,请联系您的注册商。

要确定域注册商,请运行下列命令:

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.comaccounting.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 官方
AWS 官方已更新 1 年前