我有两个EC2实例,第一个是node js应用服务器,第二个是mongo db服务器。我无法从应用程序服务器或任何其他地方访问数据库服务器。
我可以从mongodb服务器ping应用服务器(私有和公共ip地址),但不能从应用服务器ping mongodb服务器(私有和公共ip地址)。我可以同时使用ssh和ssh。
mongodb服务器有自己的mongod配置文件,其中的network字段如下:
network
bind: [0.0.0.0, private_ip_of_instance]无论如何,我相信这不是问题所在。我可以从实例中访问我的mongo DB,也可以对其进行查询。mongodb服务在mongodb服务器上的状态为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上随时随地访问。我尝试从本地机器ping mongdb实例的公网ip,但所有数据包都丢失了,并且我可以ping应用服务器的公网ip,并且没有数据包丢失。
这很奇怪,因为以前一切都很正常。应用服务器正在与Mongodb服务器通信,并获取数据并返回到今天。
发布于 2017-08-15 01:34:46
您需要在分配给MongoDB服务器的安全组中打开端口27017。
https://stackoverflow.com/questions/45679723
复制相似问题