我已经在我的 CentOS 7.2 VPS 上安装了 MongoDB 并尝试从我的客户端通过 Robomongo 访问数据库。但是,当我尝试从 27017 端口连接服务器时,出现“网络无法访问”错误。
我已经在服务器上启用了firewalld 并为27017 端口添加了一个异常(exception)。
firewall-cmd --list-all
结果:
我在永久添加异常并通过 --reload 重新加载 firewalld 后得到了这个结果。
当我使用以下方式查询端口时:
firewall-cmd --query-port=27017/tcp
我从系统得到“是”。但是,当我尝试通过 Robomongo 连接或通过类似 http://ping.eu/port-chk/ 的端口检查服务查询端口时我得到一个否定的结果。
您对我的案例有什么建议吗?
谢谢。
最佳答案
我有同样的问题,但在 Centos 7 Vm 中运行 mongod。
首先我必须用 firewall-cmd 打开 mongodb 端口:
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
然后我必须更改/etc/mongodb.conf 中的网络配置条目 另见:https://docs.mongodb.com/manual/reference/configuration-options/#net-options
我删除了 bindIp: 条目并添加了 bindIpAll: true
net:
port: 27017
bindIpAll: true
使用bindIp:根据文档需要输入:
mongos 和 mongod 应该监听客户端连接的 IP 地址和/或完整的 Unix 域套接字路径。您可以将 mongos 和 mongod 附加到任何接口(interface)。要绑定(bind)到多个地址,请输入逗号分隔值列表
默认是:
net:
port: 27017
bindIp: 127.0.0.1
这意味着 mongodb 只监听 localhost
关于mongodb - Centos 7.2 上的防火墙配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37586751/