无法从Web服务器实例

时间:2017-08-14 17:20:04

标签: node.js mongodb amazon-web-services networking amazon-ec2

我有2个EC2实例,第一个是节点js应用服务器,第二个是mongo数据库服务器。我无法从应用服务器或其他任何地方访问数据库服务器。

我可以从mongodb服务器ping应用服务器(私有和公共IP地址),但无法从应用服务器ping mongodb服务器(私有和公共IP地址)。我可以抨击两者。

mongodb服务器有mongod配置文件,网络字段为:

  network
    bind: [0.0.0.0, private_ip_of_instance]

无论如何,我认为这不是问题所在。我可以从实例中访问我的mongo DB并查询它。 mongodb服务器上的mongod服务的状态是活动的。

mongo db实例的输出日志说

 Waiting for connections on port 27017

我在app服务器上的nodejs环境有一个配置文件,它指向端口27017上的mongo db服务器实例的private_ip以及数据库名称。

mongodb实例的ufw防火墙具有以下状态

22                         ALLOW       Anywhere
27017                      ALLOW       public_ip_address
27017                      ALLOW       private_ip_address
80/tcp                     ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)

所以我不相信它阻止连接的mongodb服务器防火墙。

mongodb实例的安全组配置为允许从端口80上的任何位置进行访问。我已尝试从我的本地计算机中修改mongdb实例的公共ip,但所有数据包都丢失了,我可以ping通公共IP应用服务器,没有丢包。

奇怪的是因为之前一切都在运作。 App服务器正在与Mongodb服务器通信并获取数据并返回到今天。

1 个答案:

答案 0 :(得分:1)

您需要在分配给MongoDB服务器的安全组中打开端口27017