springboot elasticsearch 客户端忽略证书使用https
注意:不要使用try-resource。
·
@Bean
public ElasticsearchClient elasticsearchClient() {
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY,
new UsernamePasswordCredentials(username, password));
HttpHost[] httpHosts = StrUtil.split(uris, ",").stream().map(HttpHost::create).toArray(HttpHost[]::new);
ElasticsearchTransport transport;
RestClient restClient = RestClient.builder(httpHosts).setCompressionEnabled(true)
.setHttpClientConfigCallback(httpClientBuilder -> {
// 这里设置鉴权需要的用户名elastic和对应密码
httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
SSLContextBuilder sscb = SSLContexts.custom();
try {
sscb.loadTrustMaterial((TrustStrategy) (chain, authType) -> {
// 在这里跳过证书信息校验
log.info("isTrusted|" + authType + "|" + Arrays.toString(chain));
return true;
});
} catch (NoSuchAlgorithmException | KeyStoreException e) {
e.printStackTrace();
}
try {
httpClientBuilder.setSSLContext(sscb.build());
} catch (KeyManagementException | NoSuchAlgorithmException e) {
e.printStackTrace();
}
// 这里跳过主机名称校验
httpClientBuilder.setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE);
return httpClientBuilder;
}).build();
transport = new RestClientTransport(restClient, new JacksonJsonpMapper());
return new ElasticsearchClient(transport);
}
注意:不要使用try-resource

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)