到目前为止,我没有找到关于这个主题的好解释/文档。
我在用
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.9.5.RELEASE</version>
</dependency>
我的代码看起来像这样:
@Bean
public MongoClientFactoryBean mongo() {
MongoClientFactoryBean mongo = new MongoClientFactoryBean();
mongo.setHost(host);
mongo.setPort(port);
mongo.setCredentials(new MongoCredential[]{MongoCredential.createCredential(username, database, password.toCharArray())});
return mongo;
}
@Bean
public MongoTemplate mongoTemplate(Mongo mongo) throws Exception {
return new MongoTemplate(mongo, database);
}
你知道我应该为此配置SSL吗?我可以允许无效证书吗?
等效的mongo命令行
mongo --ssl --sslAllowInvalidCertificates --host <host> --port <port>
文档中对此进行了解释:请参阅以下内容:
以下配置也可用于启用它
@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);
}
进一步添加,当mongod进程启动时
mongo --ssl --sslAllowInvalidCertificates --host --port
连接到mongo进程的客户端不必设置任何选项来支持它。