无法使用公共IP地址连接到MongoDB副本集

时间:2017-06-13 05:47:57

标签: mongodb networking mongodb-replica-set

我在MongoDB中配置了一个三节点副本集;复制是同步的。

我可以单独连接到每个服务器,并使用每个服务器的私有IP地址,我可以像这样连接到副本集:

  

mongo --host rs0 / 10.X.X.X:27017,10.X.X.X:27017,10.X.X.X:27017 -u root -p abc123 --authenticationDatabase admin

但是当我尝试使用服务器的公共IP地址连接到副本集时,如下所示:

  

mongo --host rs0 / 52.X.X.X:27017,52.X.X.X:27017,52.X.X.X:27017 -u root -p abc123 --authenticationDatabase admin

我收到错误:“没有检测到设置rs0 的主要内容。”

3 个答案:

答案 0 :(得分:1)

当您连接到副本集时,您应该使用相同的地址(IP地址或主机名),因为节点在副本集配置中相互使用。对于副本集部署,您需要:

  

Ensure that network traffic can pass between all members of the set and all clients in the network securely and efficiently.

实际上,最好 not 使用公共IP地址配置副本集;使用私有IP地址更安全,这有助于确保您的数据库只能从授权位置接收连接。

答案 1 :(得分:0)

这可能是其中一个原因。

您应该将所有3台服务器的公共IP添加到所有3台服务器/etc/mongod.conf中的bind ip值

如果您使用的是AWS,则需要允许所有此IP用于对另一台服务器的入站访问。

答案 2 :(得分:0)

谢谢你的回复, 它需要在rs.config

中使用公共Ips配置副本
相关问题