I\'m trying to enable https for spring cloud eureka server. Yaml config:
server:
port: 8100
ssl:
clientAuth: want
protocol: TLS
key-store: classpath:
I managed to inject ssl-context to the eureka client in Finchley.M9 spring cloud as following:
@Configuration
public class SslConfiguration {
private static final Logger logger = LoggerFactory.getLogger(LoggerConfiguration.class);
@Value("${http.client.ssl.trust-store}")
private File trustStore;
@Value("${http.client.ssl.trust-store-password}")
private String trustStorePassword;
@Bean
public DiscoveryClient.DiscoveryClientOptionalArgs getTrustStoredEurekaClient(SSLContext sslContext) {
DiscoveryClient.DiscoveryClientOptionalArgs args = new DiscoveryClient.DiscoveryClientOptionalArgs();
args.setSSLContext(sslContext);
return args;
}
@Bean
public SSLContext sslContext() throws Exception {
logger.info("initialize ssl context bean with keystore {} ", trustStore);
return new SSLContextBuilder()
.loadTrustMaterial(
trustStore,
trustStorePassword.toCharArray()
).build();
}
}