我有一个EC2实例(Ubuntu 14)。我已经在其安全组中定义了端口27017,可以从任何地方访问。
我正在尝试从我的PC(Windows 10)连接到EC2实例,但收到以下错误:
MongoDB未在提供的主机和端口上运行
这是不正确的,因为我确保MongoDB正在运行。
这些是我指定的设置:
我也尝试过使用SSH(也是在sercurity组中定义并通过终端运行良好),但是出现了以下错误:
创建SSH隧道时出错:(SSH)通道打开失败:连接 拒绝
这些是我指定的设置:
答案 0 :(得分:8)
阿龙,
检查站
我想第1点应该可以解决问题。休息点以备将来参考
[更新1]
bindIp的文档链接
https://docs.mongodb.com/manual/reference/configuration-options/#net-options
答案 1 :(得分:0)
我将其作为答案,尽管它是对raevilman的回答,但我还没有必要的声誉来发表评论。
如果您如上所述将bind_ip变量设置为0.0.0.0,则MongoDB接受来自所有IP地址的连接。如果您不使用访问控制,则可能存在安全风险。
另一方面,如果我没有记错的话,SSH隧道的想法是,在这种情况下,对于MongoDB,进入的连接来自本地主机,因此无需更改配置。
也就是说,我来这里是因为我也无法连接。我收到错误消息“创建SSH隧道时出错:等待forwardOut超时”。
在我的情况下,解决方案是将“ localhost”放在顶部的主机名字段中,而不是主机IP。