Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为SSl配置MongoDB replicaSet与副本集之间的安全通信_Mongodb_Ssl_Authorization_Replicaset - Fatal编程技术网

为SSl配置MongoDB replicaSet与副本集之间的安全通信

为SSl配置MongoDB replicaSet与副本集之间的安全通信,mongodb,ssl,authorization,replicaset,Mongodb,Ssl,Authorization,Replicaset,我们的测试环境中目前有一个mondogDB部署。我们有一个7人的副本集,没有仲裁者 We want to configure the data replication between the replica set members secure. We don't want to configure SSL for the clients to our MongoDB cluster as the communication from the client to this MongoDB

我们的测试环境中目前有一个mondogDB部署。我们有一个7人的副本集,没有仲裁者

We want to configure the data replication between the replica set members secure. 
We don't want to configure SSL for the clients to our MongoDB cluster as the communication from the    client to this MongoDB cluster is via Stunnel. So the client doesn't need to use SSL to connect.
只是想知道这是否可能,即只配置副本集成员之间复制的数据安全,而不配置从客户端到该MongoDB集群的实际通信


_非常感谢

我没有亲自尝试过,但我相信你能做到。除了使用ssl编译mongodb,或者购买一个支持ssl的mongodb订阅之外,您还需要使用以下选项运行:

--sslMode

设置为首选SSL。这将使用SSL进行服务器间通信,但允许SSL和非SSL进行其他连接:

当然,这是对使用SSL运行所需的其他配置设置的补充:


请注意,这是2.6版的新功能。我没有使用ssl支持编译的mongodb版本,因此我没有对其进行测试。

@DurgaDeep在mongodb v2.6中,您可以在混合模式ssl中运行mongodb实例,同时还可以为集群成员指定x509证书以相互验证。请注意,SSL不是默认社区构建的一部分,如果使用社区构建,您可能需要自己构建二进制文件。x509证书仅在订阅版本上可用,因此如果您使用的是社区版本,则该证书将不适用于您


无论MongoDB版本如何,要实现您想要做的事情,最简单的选择是在副本集节点之间设置stunnel,并让它独立处理加密通道。这是许多应用程序通常采用的方法,它们没有嵌入SSL作为选项。

非常感谢,这是我们将要采用的方法,即构建mongoDB二进制文件。接下来的一个问题是副本集节点之间的stunnel方法。我们有一个9个成员的副本集,其中只有3个成员有资格成为初选,其余6个成员配置为(优先级=0,投票=0)。而且初选是在非军事区后面进行的,所以我们不需要他们之间的特技表演。对于此配置-我们最终可能会创建多少个特技?。它将是P(主节点总数)*S(次节点总数)=所以在这种情况下,我需要P(3)*S(6)=18个特技?。