Mongodb 如何在mongoid.yml中指定要安装的客户端证书?

Mongodb 如何在mongoid.yml中指定要安装的客户端证书?,mongodb,ssl,mongoid,Mongodb,Ssl,Mongoid,我正在尝试将mongoid设置为使用ssl和客户端证书连接到mongodb服务器进行身份验证。但是,我在mongoid.yml中找不到选项的全面参考 例如,我发现:-它引用了一个ssl:true选项(这似乎有效),但mongoid.yml选项似乎没有在我能找到的任何地方记录下来 我能够使用mongo shell使用客户端证书进行连接。如果我在mongoid.yml中省略了ssl:true选项,那么在服务器上我会得到“AssertionException处理请求,关闭客户端连接:17189服务器配

我正在尝试将mongoid设置为使用ssl和客户端证书连接到mongodb服务器进行身份验证。但是,我在mongoid.yml中找不到选项的全面参考

例如,我发现:-它引用了一个ssl:true选项(这似乎有效),但mongoid.yml选项似乎没有在我能找到的任何地方记录下来

我能够使用mongo shell使用客户端证书进行连接。如果我在mongoid.yml中省略了ssl:true选项,那么在服务器上我会得到“AssertionException处理请求,关闭客户端连接:17189服务器配置为仅允许ssl连接”

如果我使用ssl:true选项,我会得到“ERROR:no-ssl-certificate by peer;connection-rejected”,这表明ssl:true选项正在工作


那么,是否有办法使用mongoid.yml向mongoid提供客户端证书/密钥和ca证书?或者是否有其他方法连接到mongod并提供到mongoid的连接?或者根本不可能使用ssl客户端证书对mongoid进行身份验证?

这个问题是在几年前发布的,当时mongoid gem还没有被MongoDB团队接管。Mongoid 5是一个重大的升级,文档也得到了极大的改进

我更新了我的应用程序以使用Mongoid 5;最大的变化是,为了提高效率,我在一些操作中使用了低级驾驶(轻便摩托车)。但是,对于Mongoid5,使用的是标准的ruby MongoDB驱动程序,因此我必须重写使用较低级别驱动程序的代码

然而,这是非常值得的。Mongoid 5的改进之一是文档,它清楚地解释了如何在以下位置向Mongoid驱动程序提供客户端证书/密钥和ca证书:

您还需要为mongod服务器提供匹配的配置,如中所述

另外,如后一页所示,截至目前,MongoDB发行版包括对SSL的支持