使用我的服务器公共IP地址访问MongoDB
我目前正在我的VPS服务器上托管MongoDB,安装了ubuntu 16.04。MongoDb在其上的安装是成功的。我可以使用127.0.0.1使用我的服务器公共IP地址访问MongoDB,mongodb,Mongodb,我目前正在我的VPS服务器上托管MongoDB,安装了ubuntu 16.04。MongoDb在其上的安装是成功的。我可以使用127.0.0.1$mongo 127.0.0.1从SSH访问数据库 然后我从本地的MacBook笔记本电脑上下载了mongoDB客户端。实际上,我想使用本地安装在我机器上的mongodb客户端访问我服务器上的mongodb。我向mongodb客户端提供我的服务器IP地址和默认mongodb端口,如下所示,IP:69.36.180.00port:27017,但这会产生以下
$mongo 127.0.0.1
从SSH访问数据库
然后我从本地的MacBook笔记本电脑上下载了mongoDB客户端。实际上,我想使用本地安装在我机器上的mongodb客户端访问我服务器上的mongodb。我向mongodb客户端提供我的服务器IP地址和默认mongodb端口,如下所示,IP:69.36.180.00
port:27017
,但这会产生以下错误
Connection failed.
SERVER [69.36.180.00:27017] (Type: UNKNOWN)
|_/ Connection error (MongoSocketOpenException): Exception opening socket
|____/ Socket error: Connection refused (Connection refused)
Details:
Timed out after 30000 ms while waiting for a server that matches
ReadPreferenceServerSelector{readPreference=primary}. Client view of
cluster state is {type=UNKNOWN, servers=[{address=69.36.180.00:27017,
type=UNKNOWN, state=CONNECTING, exception= {com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by
{java.net.ConnectException: Connection refused (Connection refused)}}]
但是,我决定使用此$mongo 69.36.180.00从服务器本身的SSH终端访问mongodb。它也不允许访问,下面是终端上显示的错误
MongoDB shell version v3.4.5
connecting to: mongodb://127.0.0.1:27017/69.36.180.00
2017-06-22T11:35:16.300+0000 E QUERY [thread1] Error: Failed to
parse mongodb:// URL: mongodb://127.0.0.1:27017/69.36.180.00 :
connect@src/mongo/shell/mongo.js:237:13
@(connect):1:6
exception: connect failed
我仔细阅读了这些错误,一些人建议我取消注释mongod.conf
中的bindIP
,其他人建议我允许在端口上访问防火墙,我已经做了所有这些,但都没有用
如果有人能就如何处理这一问题分享意见,我将不胜感激。请缩小范围。。检查是否存在防火墙问题:telnet 69.36.180.00 27017
如果telnet未成功,则肯定是防火墙问题。如果telnet成功,那么您可以查看bindIp等@acsrujan我认为使用telnet 69.36.180.00 27017
会出现此错误尝试69.36.180.00。。。telnet:连接到地址69.36.180.00:连接被拒绝telnet:无法连接到远程主机
,这表明防火墙确实是问题所在。您能否验证关联的AWS安全组是否有一条规则,说明您的IP地址允许使用27017?是的,我已经验证了它是否有效。谢谢@acsrujan