MongoDB Internet连接失败
我已经在Ubuntu 12.04LTS服务器上安装并运行了MongoDB。在本地主机上以及使用Mac和linux设备的本地网络中的计算机上,一切都可以正常工作。但是,当我尝试通过Internet连接时,例如: mongo——主机 我得到: 但是,如果我连接为:MongoDB Internet连接失败,mongodb,database-connection,Mongodb,Database Connection,我已经在Ubuntu 12.04LTS服务器上安装并运行了MongoDB。在本地主机上以及使用Mac和linux设备的本地网络中的计算机上,一切都可以正常工作。但是,当我尝试通过Internet连接时,例如: mongo——主机 我得到: 但是,如果我连接为: mongo --host mydomain.com --nodb 我得到: MongoDB shell version: 2.4.4 但我无法连接到任何dbs 我的mongodb.conf文件如下: dbpath=/data/db
mongo --host mydomain.com --nodb
我得到:
MongoDB shell version: 2.4.4
但我无法连接到任何dbs
我的mongodb.conf文件如下:
dbpath=/data/db
#where to log
logpath=/data/mongo/mongodb.log
logappend=true
bind_ip = 0.0.0.0
port = 27017
auth = false here
iptables包含:
ACCEPT tcp -- anywhere anywhere tcp dpt:28017
ACCEPT tcp -- anywhere anywhere tcp dpt:27017
我可以连接到mongodb web监视器,好吗
/data/db权限设置为777
那么我做错了什么呢?如果是EC2服务器,您可能需要在EC2控制台中配置安全策略,在那里您可以启用公共端口访问。在这种情况下,请使用ps命令检查mongod进程是否已启动。是的,mongod正在运行,我可以在服务器上或从LANDo上的计算机上正常连接。您需要指定绑定ip吗?我相信MongoDB默认绑定所有IP。事实上,我知道指定0.0.0.0用于使其绑定到主机名(不确定是否仍然绑定)我有两种方式,没有区别只是为了排除任何其他问题,您可以通过其他方式从外部连接到服务器。比如说,SSH,甚至只是ping?还有,可能尝试在mongo服务器上执行netstat-a。很可能您的服务器在NAT后面,而不是在实际的直接internet上,或者它有多个ip地址,其中一个可以在本地网络之外访问。您可能希望了解情况是否如此,然后在启动mongod时绑定到正确的ip。如果您位于防火墙后面,则需要配置防火墙以将端口转发到正确的服务器。有一件事。将数据库服务器打开到internet永远都不是件好事。
ACCEPT tcp -- anywhere anywhere tcp dpt:28017
ACCEPT tcp -- anywhere anywhere tcp dpt:27017