我正在尝试建立songoid以使用带有客户端证书的ssl来连接到mongodb服务器。但是,我无法在mongoid.yml中找到有关这些选项的全面参考。
例如,我发现了这一点:如何在Mongoid 3客户端中启用SSL / TLS?-引用了ssl:true选项(似乎可行),但是该mongoid.yml选项似乎没有记载在我能找到的任何地方。
我可以使用使用mongo shell的客户端证书进行连接。如果我在mongoid.yml中省略了ssl:true选项,则在服务器上,我会收到“ AssertionException处理请求,关闭客户端连接:17189服务器配置为仅允许SSL连接”
如果我确实使用ssl:true选项,则会收到“错误:对等方未提供SSL证书;连接被拒绝”提示ssl:true选项正在工作。
因此,有没有办法使用mongoid.yml向mongoid提供客户端证书/密钥和ca cert?还是有其他方法可以建立与mongod的连接并提供与mongoid的连接?还是根本无法使用ssl客户端证书进行mongoid身份验证?
这个问题是几年前发布的,当时MongoDB团队接管了Mongoid宝石。Mongoid 5是一项重大升级,文档也得到了显着改进。
我更新了应用程序以使用Mongoid 5;最大的变化是我为某些操作使用了较低级别的驱动程序(助力车),以提高效率。但是,对于Mongoid 5,使用了标准的ruby MongoDB驱动程序,因此我不得不重写使用较低级别驱动程序的代码。
但是,这是值得的。在Mongoid 5的改进中,有文档清楚地说明了如何在https://docs.mongodb.com/ecosystem/tutorial/mongoid-installation/向Mongoid驱动程序提供客户端cert / key和ca cert。
您还需要为mongod服务器提供匹配的配置,有关配置,请参见https://docs.mongodb.com/manual/tutorial/configure-ssl/
而且,如后一页所述,从MongoDB发行版开始,现在包括对SSL的支持。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句