【问题标题】:AWS MongoDB Instance not reachable from Web Server Instance无法从 Web 服务器实例访问 AWS MongoDB 实例
【发布时间】:2018-01-22 14:23:15
【问题描述】:

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

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

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

  network
    bind: [0.0.0.0, private_ip_of_instance]

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

mongo db 实例的输出日志说

 Waiting for connections on port 27017

我在应用服务器上的 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应用服务器,没有丢包。

这很奇怪,因为之前一切正常。应用程序服务器正在与 Mongodb 服务器通信并获取数据并返回到今天。

【问题讨论】:

  • 您在分配给 MongoDB 服务器的安全组中没有打开端口27017 吗?你只提到端口80由于某种原因是开放的。
  • @Mark B .... 哦,我的....无法想象我出于一个非常愚蠢的原因删除了它....谢谢....刚刚又添加了一次。请添加您的答案

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-08
    • 2012-03-10
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多