2017-01-05 2 views
1

나는 지금까지 주제에 대한 좋은 설명이나 문서를 찾지 못했다.스프링 데이터 mongodb, SSL 설정 방법은 무엇입니까?

나는

<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 --ssl --sslAllowInvalidCertificates --host <host> --port <port> 

답변

1

이이 문서에 설명되어 있습니다 : 아래를 참조하십시오

또한 http://mongodb.github.io/mongo-java-driver/3.0/driver/reference/connecting/ssl/?_ga=1.122423051.1001600813.1475930911

는 다음과 같은 구성 그것을

을 가능하게 할 수 있습니다
@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 클라이언트 옵션을 전달하십시오. 몽고 프로세스에 연결 몽고의 processs가

몽고 --ssl --sslAllowInvalidCertificates --host --port

클라이언트를 시작

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

더 추가 인자로서 MongoClient 인스턴스 이것을 지원하는 옵션을 설정하지 않아도됩니다.

관련 문제