【问题标题】:How do I specify a client certificate to moped in mongoid.yml?如何在 mongoid.yml 中指定要轻便的客户端证书?
【发布时间】:2014-09-24 05:13:43
【问题描述】:

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

例如,我发现了这个:How to enable SSL/TLS in Mongoid 3 client? - 它引用了一个 ssl: true 选项(这似乎有效),但该 mongoid.yml 选项似乎没有记录在我能找到的任何地方。

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

如果我确实使用 ssl: true 选项,我会收到“错误:对等方未提供 SSL 证书;连接被拒绝”,这表明 ssl: true 选项正在工作。

那么,有没有办法使用 mongoid.yml 向 mongoid 提供客户端证书/密钥和 ca 证书?还是有另一种方法可以与 mongod 建立连接并提供与 mongoid 的连接?还是根本不可能使用 ssl 客户端证书进行 mongoid 身份验证?

【问题讨论】:

    标签: mongodb ssl mongoid


    【解决方案1】:

    这个问题是几年前发布的,在 Mongoid gem 被 MongoDB 团队接管之前。 Mongoid 5 是一次重大升级,文档也得到了显着改进。

    我更新了我的应用程序以使用 Mongoid 5;最大的变化是我一直在使用较低级别的驱动程序(Moped)进行一些操作,以提高效率。但是,在 Mongoid 5 中,使用了标准的 ruby​​ MongoDB 驱动程序,因此我不得不重写使用较低级别驱动程序的代码。

    然而,这是非常值得的。在 Mongoid 5 的改进中,文档清楚地解释了如何在 https://docs.mongodb.com/ecosystem/tutorial/mongoid-installation/ 处向 Mongoid 驱动程序提供客户端证书/密钥和 ca 证书

    您还需要为 mongod 服务器提供匹配的配置,这在 https://docs.mongodb.com/manual/tutorial/configure-ssl/ 中进行了解释

    此外,如后一页所示,从 MongoDB 发行版开始,现在包括对 SSL 的支持。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-18
      • 1970-01-01
      • 1970-01-01
      • 2014-02-28
      • 1970-01-01
      相关资源
      最近更新 更多