无法使用 public 个 IP 地址连接到 MongoDB 个副本集
Unable to connect to MongoDB Replica Set using public IP addresses
我在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
但是当我尝试使用服务器的 public 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 个服务器 public IP 添加到所有 3 个服务器的绑定 ip 值 /etc/mongod.conf
如果您使用的是 AWS,则需要允许所有此 IP 入站访问另一台服务器。
当您连接到副本集时,您应该使用相同的地址(IP 地址或主机名)作为节点在副本集配置中相互使用的地址。对于副本集部署,您需要:
实际上,最好不要使用public ip 地址配置副本集;使用私有 IP 地址更安全,这有助于确保您的数据库只能接收来自授权位置的连接。
感谢大家的回复,
它需要在 rs.config
中使用 public Ips 配置副本
我在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
但是当我尝试使用服务器的 public 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 个服务器 public IP 添加到所有 3 个服务器的绑定 ip 值 /etc/mongod.conf
如果您使用的是 AWS,则需要允许所有此 IP 入站访问另一台服务器。
当您连接到副本集时,您应该使用相同的地址(IP 地址或主机名)作为节点在副本集配置中相互使用的地址。对于副本集部署,您需要:
实际上,最好不要使用public ip 地址配置副本集;使用私有 IP 地址更安全,这有助于确保您的数据库只能接收来自授权位置的连接。
感谢大家的回复, 它需要在 rs.config
中使用 public Ips 配置副本