'Ignore SSL certificate verfication while connecting to elasticsearch from SPRING BOOT via high level rest client

Is there a way to ignore SSL certificate verification while connecting elasticsearch 7.4 using high level rest client. I explored a couple of options but nothing worked in my case. I have a HTTPS ES cluster which I want to connect from my spring boot application by ignoring ssl certificate verification.



Solution 1:[1]

hope this will help you, I had the same problem and this is how I resolved.

@Bean
public RestHighLevelClient createSimpleElasticClient() throws Exception {
    try {
        SSLContextBuilder sslBuilder = SSLContexts.custom()
                .loadTrustMaterial(null, (x509Certificates, s) -> true);
                final SSLContext sslContext = sslBuilder.build();
        RestHighLevelClient client = new RestHighLevelClient(RestClient
                //port number is given as 443 since its https schema
                .builder(new HttpHost(hostNameOrLoadbalancerURL, 443, "https")) 
                .setHttpClientConfigCallback(new HttpClientConfigCallback() {
                    @Override
                    public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
                        return httpClientBuilder
                                 .setSSLContext(sslContext)
                                 .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE);
                    }
                })
                .setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() {
                    @Override
                    public RequestConfig.Builder customizeRequestConfig(
                            RequestConfig.Builder requestConfigBuilder) {
                        return requestConfigBuilder.setConnectTimeout(5000)
                                .setSocketTimeout(120000);
                    }
                }));
        System.out.println("elasticsearch client created");
        return client;
    } catch (Exception e) {
        System.out.println(e);
        throw new Exception("Could not create an elasticsearch client!!");
    }
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Mugen