本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
當您的本地設備需要通過公網地址連接MongoDB實例時,您可以使用本文中的方法快速實現連接。
前提條件
已為MongoDB實例申請公網連接地址,詳情請參見:
注意事項
本文僅適用于本地設備連接MongoDB實例的情況,如需通過ECS實例連接MongoDB實例,您可以在ECS實例的詳情頁面查看準確的公網IP地址和內網IP地址。
通過公網連接MongoDB實例存在一定的安全風險,建議通過ECS實例連接MongoDB實例。
方法一:通過IP查詢定位公網地址并連接實例
您可以在IP地址庫中查詢本地客戶端的公網IP地址,然后通過該地址連接實例。
查詢您本地設備的公網IP地址。
將獲取到的公網地址添加至MongoDB白名單中,詳情請參見修改白名單。
在本地設備上,通過Mongo Shell登錄MongoDB實例,詳情請參見連接實例。
說明您也可以使用其他客戶端工具登錄MongoDB實例。
如果已經將本地設備的公網IP地址添加至MongoDB實例的白名單中,仍然無法連接MongoDB實例,而將MongoDB的白名單設置為0.0.0.0/0后可以連接。針對此情況,建議通過連接信息來定位公網地址,詳情請參見方法二:通過連接信息定位公網地址并連接實例。
方法二:通過連接信息定位公網地址并連接實例
您可以通過查詢本地客戶端的公網IP連接信息連接實例。
將IP地址0.0.0.0/0添加到MongoDB實例的白名單中,詳情請參見修改白名單。
警告0.0.0.0/0表示允許任何設備訪問MongoDB實例,有安全風險,請謹慎使用。如果使用,應當及時從白名單中刪除。
在本地設備上,通過Mongo Shell登錄MongoDB實例,詳情請參見連接實例。
登錄完成后,通過下述命令查詢Mongo Shell登錄的客戶端信息。
db.currentOp({"appName" : "MongoDB Shell","active" : true})
輸出示例
說明如果通過其他方式登錄MongoDB實例,您可通過下述命令查詢所有客戶端信息。
db.runCommand({currentOp: 1, "active" : true})
將獲取到的IP地址加入至MongoDB實例白名單中,并將步驟1中添加的IP地址0.0.0.0/0刪除。
更多信息
如果您的公網地址不是固定的且經常變動,您可以通過VPN連接MongoDB實例。如何連接,請參見本地客戶端通過SSL-VPN隧道連接MongoDB。