3

我在 EC2 实例上运行 Ubuntu,并且某些非常特殊的主机无法回复 POST。例如,当我跑步时

curl -v -L -I http://www.moneymanagement.com.au/

从我的本地机器上,我立即收到回复。但是,从 EC2 运行的相同命令会超时。

  • 即将 connect() 到 www.moneymanagement.com.au 端口 80 (#0)
  • 正在尝试 61.14.142.150... 连接超时
  • 无法连接到主机
  • 关闭连接 #0 curl: (7) 无法连接到主机

然而,同样的 POST 到 Google 和其他人会立即返回。此外,绕过名称服务器可以避免这个问题:

curl -v -L -I 141.101.124.53

回复没有失败。什么可能导致这种行为?

编辑:这是跟踪路由结果。

traceroute to www.moneymanagement.com.au (61.14.142.150), 30 hops max, 60 byte packets
 1  10.96.72.3 (10.96.72.3)  0.345 ms  0.444 ms  0.556 ms
 2  ip-10-1-16-41.ec2.internal (10.1.16.41)  0.540 ms ip-10-1-28-41.ec2.internal (10.1.28.41)  0.390 ms ip-10-1-18-41.ec2.internal (10.1.18.41)  0.499 ms
 3  ip-10-1-29-14.ec2.internal (10.1.29.14)  0.667 ms ip-10-1-13-14.ec2.internal (10.1.13.14)  0.755 ms ip-10-1-29-14.ec2.internal (10.1.29.14)  0.865 ms
 4  216.182.224.120 (216.182.224.120)  2.872 ms 216.182.232.50 (216.182.232.50)  2.732 ms 216.182.224.211 (216.182.224.211)  2.580 ms
 5  100.64.2.195 (100.64.2.195)  1.680 ms 100.64.2.235 (100.64.2.235)  1.885 ms 100.64.2.247 (100.64.2.247)  2.098 ms
 6  100.64.0.50 (100.64.0.50)  364.049 ms 100.64.0.6 (100.64.0.6)  383.689 ms 100.64.0.24 (100.64.0.24)  403.813 ms
 7  * * *
 8  72.21.220.225 (72.21.220.225)  0.526 ms 72.21.222.148 (72.21.222.148)  1.056 ms 72.21.220.225 (72.21.220.225)  0.718 ms
 9  72.21.222.148 (72.21.222.148)  0.815 ms 205.251.245.64 (205.251.245.64)  0.839 ms 72.21.222.148 (72.21.222.148)  47.064 ms
10  gw3.lax1.asianetcom.net (206.223.115.40)  65.325 ms  65.297 ms  65.291 ms
11  te0-1-0-0-983.cr1.syd5.asianetcom.net (203.192.174.133)  202.111 ms  201.326 ms  201.273 ms
12  gi0-1-0.gw16.syd5.asianetcom.net (203.192.174.170)  201.375 ms te0-1-0-0-983.cr1.syd5.asianetcom.net (203.192.174.133)  200.736 ms gi0-1-0.gw16.syd5.asianetcom.net (203.192.174.170)  200.682 ms
13  gi0-1-0.gw16.syd5.asianetcom.net (203.192.174.170)  200.504 ms  200.922 ms *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *
4

1 回答 1

0

错误是您应该关注的connection timed out地方(假设 IP 地址是您要连接的主机的正确地址。)为了建立 HTTP 连接,您需要:

  • 一个 Web 服务器监听服务器上的 80 端口
  • 与主机实例关联的安全组,允许来自您的 IP 的流量通过端口 80(更有可能来自所有 IP)

检查 Web 服务器是否正在实例上运行(登录并运行ps -elf并检查您的 Web 服务器进程(例如apachenginx)。或检查 Web 服务器错误日志以确保它正确启动。除非您有一个时髦的配置,否则很可能监听 80 端口。

通过 AWS 控制台检查与实例关联的安全组。它与其他正在工作的实例相同吗?如果不是,很可能就是问题所在,或者如果这是唯一的实例,那么您需要允许端口 80 上的流量。

如果 IP 地址错误,请检查您的 DNS 设置(如果您在 AWS 上为您的域执行 DNS,请检查 Route 53),或与实例关联的任何弹性 IP 关联的 IP 地址。

于 2012-11-07T21:59:59.973 回答