Haproxy

無法從我的桌面訪問 mongodb

  • August 30, 2018

我正在嘗試名為 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 就會自動處理隧道。

引用自:https://serverfault.com/questions/928510