我创建了一个AWS EC2 (ubuntu-20.04)实例,并按照https://www.mongodb.com/docs/v4.4/tutorial/install-mongodb-on-ubuntu/设置了一个mongo服务器
(mongo服务器运行在默认端口27017,没有任何用户名/密码保护)
我能够从VM内连接到它(通过SSH连接到VM后),通过运行终端命令:
mongo
我已经配置了EC2实例的安全组的入站规则,以便从本地系统的IP访问端口27017。
但是,当我试图从本地系统的终端通过命令连接到它时:
mongo --host "<public_ip_of_vm>:27017"
抛出错误:
连接:mongodb://& lt; public_ip_of_vm> 27017/?压缩机= disabled& gssapiServiceName = mongodb错误:无法连接到服务器
:27017,连接尝试SocketException: Error connecting to :27017:: cause连接被拒绝:connect@src/mongo/shell/mongo.js:374:17@(连接):2:6异常:连接失败退出代码1
不确定是什么原因导致这个问题,我也检查了ufw规则。端口27017已打开。
你修改了吗?
/etc/mongod.conf
看看这个教程,尤其是第2步。也许这有帮助https://ianlondon.github.io/blog/mongodb-auth/
连接被拒绝意味着您可能没有防火墙问题。连接超时说明防火墙有问题。
由于您可以通过本地主机进行本地连接,因此该错误指示mongo进程仅在本地主机上侦听。
编辑文件/etc/mogod.conf
。有趣的一行是bindIp.
对于IPv4应该是这样的:
bindIp: 0.0.0.0
如果您启用了IPv6
bindIp: ::,0.0.0.0
:先启用鉴权。你可能被黑的速度比你想象的要快。