无法连接到在 EC2 上运行的 Mongodb

Posted

技术标签:

【中文标题】无法连接到在 EC2 上运行的 Mongodb【英文标题】:Can't connect to Mongodb running on EC2 【发布时间】:2014-10-29 01:37:42 【问题描述】:

我无法远程连接到运行在 EC2 上的 mongo 服务器,即使我通过 ssh 连接到服务器,mongo 运行正常。另请注意,27017 端口在 tcp 和 udp 协议上都是打开的。我收到以下错误:

MongoDB shell version: 2.4.8
connecting to: ec2-x...x-compute.amazonaws.com:27017/test
Thu Sep  4 13:26:04.293 Error: couldn't connect to server to: ec2-x...x-compute.amazonaws.com:27017/test at src/mongo/shell/mongo.js:147
exception: connect failed

我在本地主机和服务器上都有Mongodb version 2.4.8 Mongodb version 2.6.4。版本差异会不会是个问题?

【问题讨论】:

【参考方案1】:

您是否绑定到外部 IP?或者只是本地主机:

http://docs.mongodb.org/manual/reference/configuration-options/

net:
  bindIp: 127.0.0.1 # Should be 0.0.0.0 to listen on all interfaces
  port: 27017

另外,我知道你说端口是开放的。您是否使用 nmap/netcat 检查过这个?您应该检查 AWS 安全组和本地防火墙以确保其已打开。

【讨论】:

我拥有正确的权限,但mongod 只在本地主机上监听,并且端口也被禁用。设置bingIpport 后一切正常。谢谢! 如果像sudo service mongod restart这样安装记得重启mongod服务:) 也可以绑定多个Ip地址 bindIp = [127.0.0.1, 192.168.184.155, 96.88.169.145]

以上是关于无法连接到在 EC2 上运行的 Mongodb的主要内容,如果未能解决你的问题,请参考以下文章

无法连接到 EC2 实例上运行的 PostgreSQL 数据库

无法使用 SSH 隧道将 MongoDB Compass 连接到 AWS DocumentDB

无法连接到在 EC2 实例上运行的 Tigase 服务器:连接被拒绝

无法连接到端口 8080 上的 EC2 Windows 实例

无法连接到 Nodejs EC2 服务器上的 SQL Server 数据库

无法连接到 EC2 上的 cassandra 服务器?