我在 Mongo 中设置了 3 个节点作为副本集。一切都很好,但是当我启用授权时,我不知道如何让他们进行交流。
- 我让他们都复制得很好
- 我在辅助服务器的 mongod.conf 中启用 auth=true
我遇到以下问题:
"_id" : 2,
"name" : "50.17.?.?:27017",
"health" : 0,
"state" : 6,
"stateStr" : "(not reachable/healthy)",
"uptime" : 0,
"optime" : {
"t" : 1366321962,
"i" : 1
},
"optimeDate" : ISODate("2013-04-18T21:52:42Z"),
"lastHeartbeat" : ISODate("2013-04-18T22:04:52Z"),
"lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
"pingMs" : 81,
"authenticated" : false,
"syncingTo" : "54.244.?.?:27017"
当我通过将其设置为 false 来禁用身份验证时,它显然可以工作。现在我可能对此很陌生,但并不愚蠢。我知道它无法连接,因为我启用了授权。但是,一个人究竟会在哪里配置主节点以与 auth=true 辅助节点同步呢?或者是否有任何其他解决方案关于如何在强制客户端需要授权的同时启用副本集之间的通信> 我到处寻找无济于事。
如果不可能,除了仅使用防火墙之外,还有什么替代授权的方法?如果有人通过 IP 破坏受信任的系统怎么办。我不希望他们能够在没有密码的情况下连接到辅助服务器或主服务器。例如,如果我的办公室被入侵并且 mongo 主节点信任我们的办公室 IP。