本地客户端通过公网连接MongoDB

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

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

前提条件

已为MongoDB实例申请公网连接地址,详情请参见:

注意事项

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

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

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

您可以在IP地址库中查询本地客户端的公网IP地址,然后通过该地址连接实例。

  1. 查询您本地设备的公网IP地址。

  2. 将获取到的公网地址添加至MongoDB白名单中,详情请参见修改白名单

  3. 在本地设备上,通过Mongo Shell登录MongoDB实例,详情请参见连接实例

    说明

    您也可以使用其他客户端工具登录MongoDB实例。

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

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

您可以通过查询本地客户端的公网IP连接信息连接实例。

  1. IP地址0.0.0.0/0添加到MongoDB实例的白名单中,详情请参见修改白名单

    警告

    0.0.0.0/0表示允许任何设备访问MongoDB实例,有安全风险,请谨慎使用。如果使用,应当及时从白名单中删除。

  2. 在本地设备上,通过Mongo Shell登录MongoDB实例,详情请参见连接实例

  3. 登录完成后,通过下述命令查询Mongo Shell登录的客户端信息。

    db.currentOp({"appName" : "MongoDB Shell","active" : true})

    输出示例

    客户端IP查询

    说明

    如果通过其他方式登录MongoDB实例,您可通过下述命令查询所有客户端信息。

    db.runCommand({currentOp: 1, "active" : true})
  4. 将获取到的IP地址加入至MongoDB实例白名单中,并将步骤1中添加的IP地址0.0.0.0/0删除。

更多信息

如果您的公网地址不是固定的且经常变动,您可以通过VPN连接MongoDB实例。如何连接,请参见本地客户端通过SSL-VPN隧道连接MongoDB