我正在尝试 MongoDB 的新 GUI,称为 Compass。
但是,我的 MongoDB 服务器位于仅具有私有 IP 的 Azure 虚拟机上。
我们的虚拟子网中的所有 Azure 服务器都可以通过一台称为监控服务器的服务器访问,该服务器具有公共 IP,并且安装了一个 haproxy,所有请求都会相应地定向到相关服务器。
那么如何使用 Compass 从我的桌面(centos)访问 MongoDB?
我对 haproxy 进行了以下更改,但仍然无法使用 Compass 访问 mongodb。
listen cc-mongo-1 <public ip of monitoring server>:27017
mode tcp
balance roundrobin
server cc-mongo-1 <private ip of mongodb>:27017
或者我们可以像我直接将其安装在服务器上然后尝试从本地机器打开 GUI 吗?
答案1
如果您的 MongoDB 是副本集 - 通过负载平衡器连接效果不佳。大多数 MongoDB 客户端将连接并下载副本集拓扑,然后尝试直接连接到副本集的成员。
如果您在监控服务器上有(或可以安装) ssh 服务器,请使用 Compass 中的 ssh 隧道功能。只需输入您用于从外部连接到监控服务器的用户名/密码或身份文件,Compass 就会自动处理隧道。