本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
当您的本地设备需要通过公网地址连接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。