Nginx"失败(111:拒绝连接)"

时间:2014-07-22 22:10:47

标签: amazon-web-services nginx dns ip-address

我创建了一个t1.micro实例,设置了我的安全组,然后将此实例与弹性IP相关联(弹性IP的范围为“VPC”,因为这是我创建EIP时唯一的选择)。

我将公共DNS网址输入浏览器,我可以按预期访问我的网站;但是,当我只输入与此DNS URL关联的Elastic-IP / Public-IP地址时,我会收到一个空白屏幕(空HTML文档)。当我在WhatsMyDNS.net上输入我的DNS网址时,会显示所有位置的预期弹性IP;另外,当我dig +trace +add www.mySite.com时,我看到了预期的名字服务器;因此,我怀疑这是一个DNS传播问题。

这让我相信我在其他地方遇到了问题,可能是我的安全小组。对于我的安全组,我有以下配置用于调试:

(Inbound)
HTTP, TCP, Port 80, 0.0.0.0/0
SSH, TCP, Port 22, 0.0.0.0/0

(Outbound)
All Traffic, All, All, 0.0.0.0/0

我的VPC网络接口具有相同的安全组并应用于正确的实例,同样,我的弹性IP与正确的网络接口相关联。一切都与适当的EC2实例有关。

我远不是AWS的专家,而且我已经阅读了很多这方面的帖子,但似乎没有什么关于如何解决这个问题的明显。它可能是网络ACL的东西吗?我需要VPN连接吗?也许在VPC路线表中有什么东西?

我可以检查具体的调试和修复方法吗?有没有人以前经历过这个,知道我哪里出错了?

如果需要更多信息,请告知我们。谢谢。

<小时/> 的更新

在我的EC2实例上,如果我停止服务器:

  • 在DNS网址上,我收到了预期的502 Bad Gateway, Nginx错误(不用说,我正在使用Nginx作为我的前端服务器)。但是...
  • 在弹性IP地址上,我仍然收到空白的HTML表单

我在多次尝试之后在错误日志中发现了这一点:

*564 connect() failed (111: Connection refused) while connecting to upstream

我认为这是我问题的一个明确指标,我将调试它。

如果有人知道副手,当然可以发表评论。

1 个答案:

答案 0 :(得分:1)

如果你的DNS是正确的,那么它就不会与安全组和ACL有任何关系,因为他们完全不知道DNS。

问题可能出在您的网络服务器配置上。由于浏览器地址栏中的主机名或IP地址随着每个请求被发送到HTTP Host:标头中的Web服务器,因此Web服务器有机会服务于不同的网站&#34; ;这个单一的弹性IP背后。

如果您没有明确或隐式地(通过&#34;默认网站&#34;设置的某些变体)将其配置为在Host:标头包含IP地址而不是{{1}}标头时预期请求主机名,结果因服务器而异,因为它可能不知道该怎么做。

检查Web服务器日志中是否有这些空白的筛选请求,以及您正在运行的服务器软件的配置和相应的文档。