繁体   English   中英

使用休眠OGM为mongoDB启用SSL

[英]Enable SSL for mongoDB using hibernate OGM

我正在使用休眠OGM与mongoDB进行交互。 作为业务需求的一部分,我需要启用ssl ,以实现mongodb与Java应用程序之间的通信。

我在mongodb文档中看到,使用mongodb-java-driver,就像将连接字符串中的ssl标志设置为true一样简单。 如何在休眠状态下执行此操作?

=====根据唯一给出的答案进行更新======

Hibernate OGM版本4.2使用mongodb Java驱动程序版本2.13,该版本在MongoClientOptions.Builder类中不包含ssl属性。 我不能升级hibernateOGM版本,因为它仍然是beta或alpha。 我尝试显式升级Java驱动程序版本,但随后开始获取异常java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.ogm.datastore.mongodb.options.impl.WriteConcernOption

========更新2 ==============

我查看了mongodb java驱动程序文档,发现将socketFactory选项设置为SSLSocketFactory可能会达到目的(请参阅https://docs.mongodb.org/v2.6/tutorial/configure-ssl-clients/#java )。 但是似乎休眠的OGM 4.2并未选择以下属性来使用SSLSocketFactory创建mongo客户端: hibernate.ogm.mongodb.driver.socketFactory=SSLSocketFactory

您可以使用以下属性启用SSL:

hibernate.ogm.mongodb.driver.sslEnabled = true

您还可以设置:

hibernate.ogm.mongodb.driver.sslInvalidHostNameAllowed = true

HIbernate OGM使用com.mongodb.MongoClient ,您可以使用前缀hibernate.ogm.mongodb.driver设置com.mongod.MongoClientOptions中的所有属性。

查看文档MongoClient.Builder以获取更多详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM