如何在公网中连接MongoDB数据库实例

当您的本地设备需要通过公网地址连接MongoDB实例时,可以使用本文中的方法快速实现连接。

提示:
本文仅适用于本地设备连接MongoDB实例的情况,如需通过ECS实例连接MongoDB实例,您可以在ECS实例的详情页面查看准确的公网IP地址和内网IP地址。

通过公网连接至MongoDB实例存在一定的安全风险,建议通过ECS实例连接MongoDB实例。

方法一 通过IP查询定位公网地址并连接实例

访问IP地址库查询您的公网地址。不限于下图中的地址库,你可以去搜索很多公开的地址库使用。
如何在公网中连接MongoDB数据库实例
将获取到的公网地址添加至MongoDB白名单中。
在本地设备上,通过Mongo Shell登录MongoDB实例。也可以使用其他客户端工具登录MongoDB实例。

如果已经将本地设备的公网IP地址添加至MongoDB实例的白名单中,仍然无法连接MongoDB实例,而将MongoDB的白名单设置为0.0.0.0/0后可以连接。针对此情况,建议通过连接信息来定位公网地址。

方法二 通过连接信息定位公网地址并连接实例

将IP地址0.0.0.0/0添加到MongoDB实例的白名单中。
说明 0.0.0.0/0表示允许任何设备访问MongoDB实例,有安全风险,请谨慎使用。如果使用,应当及时从白名单中删除。
在本地设备上,通过Mongo Shell登录MongoDB实例。
说明 通过Mongo Shell登录MongoDB实例时,请使用公网连接地址登录。
通过下述命令查询通过Mongo Shell登录的客户端信息。
db.currentOp({“appName” : “MongoDB Shell”,“active” : true})
如何在公网中连接MongoDB数据库实例
说明 如果通过其他方式登录MongoDB实例,可通过下述命令查询所有客户端信息。
db.runCommand({currentOp: 1, “active” : true})

将获取到的IP地址加入至MongoDB实例白名单中,并将步骤1中添加的IP地址0.0.0.0/0删除。
更多参阅MongoDB帮助文档