mongodb - 使用 ssl 从 spring boot 应用程序连接到 MongoDB

标签 mongodb ssl spring-boot

我正在尝试使用 ssl 将我的 spring boot 应用程序连接到 mongodb。我按照此处描述的步骤操作,但它们对我不起作用。

https://www.compose.com/articles/how-to-connecting-to-compose-mongodb-with-java-and-ssl/

有什么想法吗?

谢谢阿莱姆

最佳答案

我建议您查看此处提供的使用 MongoDB 访问数据 https://spring.io/guides/gs/accessing-data-mongodb/基本用法示例。 spring-boot-starter-data-mongodb 会让你走得更远,你需要做的是像这样配置一个 MongoClientOptions bean

    @Bean
    public  MongoClientOptions mongoClientOptions(){
        System.setProperty ("javax.net.ssl.keyStore","<<PATH TO KEYSTOR >>");
        System.setProperty ("javax.net.ssl.keyStorePassword","PASSWORD");   
        MongoClientOptions.Builder builder = MongoClientOptions.builder();
        MongoClientOptions options=builder.sslEnabled(true).build();        
        return options;
    }

并将 mongo 客户端选项作为参数传递给 MongoClient 实例,如下所示

public MongoClient(ServerAddress addr, MongoClientOptions options) {
        super(addr, options);
    }

进一步添加,当 mongo 进程启动时

mongo --ssl --sslAllowInvalidCertificates --host --port

连接到 mongo 进程的客户端不必设置任何选项来支持它。

我用了这个帖子Spring data mongodb, how to set SSL?和这个 spring.io 指南作为引用。

希望对你有帮助

关于mongodb - 使用 ssl 从 spring boot 应用程序连接到 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42355417/

相关文章:

firefox - Continue to This Website (not recommended) Firefox 上的错误

rest - 从另一个 Spring Boot Web 应用程序对 Spring Boot Web 应用程序进行健康检查

node.js - 在 Node.js 中异步查询多个 MongoDB 集合

windows - 在 2008R2 上将 mongos 路由服务器作为 Windows 服务运行?

mongodb - 在mongodb查询中检查数据是否在两个数字之间

mongodb - 为什么默认的 mongodb docker 实例不安全?

asp.net - SSL 证书可以跨网站和 IIS (asp.net) 上的虚拟目录共享吗?

ssl - 特定网页的客户端 SSL 证书

spring-boot - 在 SpringBoot 上使用 HttpClient/MultipartRequestEntity 检查进度

java - 在两个应用程序之间共享 Spring Boot YAML 配置