我正在尝试名为 Compass 的 MongoDB 新 GUI。
但是,我的 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 一样吗?
如果您的 MongoDB 是一个副本集 - 通过负载均衡器连接就不能很好地工作。大多数 MongoDB 客户端会连接并下载副本集拓扑,然后尝试直接连接到副本集的成员。
如果您有(或可以安装)监控服务器上的 ssh 服务器,请使用 Compass 中的 ssh 隧道功能。只需输入用于从外部连接到监控服务器的用户名/密码或身份文件,Compass 就会自动处理隧道。