elasticsearch,ssl,ignore,Spring Boot,elasticsearch,Ssl,Ignore" /> elasticsearch,ssl,ignore,Spring Boot,elasticsearch,Ssl,Ignore" />

Spring boot 通过高级rest客户端从SPRING BOOT连接到elasticsearch时忽略SSL证书验证

Spring boot 通过高级rest客户端从SPRING BOOT连接到elasticsearch时忽略SSL证书验证,spring-boot,elasticsearch,ssl,ignore,Spring Boot,elasticsearch,Ssl,Ignore,在使用高级rest客户端连接elasticsearch 7.4时,是否有方法忽略SSL证书验证。我探索了几个选择,但在我的案例中没有任何效果。我有一个HTTPS ES群集,我想通过忽略ssl证书验证从我的spring boot应用程序连接它 非常感谢您的帮助 希望这能对你有所帮助,我也遇到了同样的问题,我就是这样解决的 @Bean public RestHighLevelClient createSimpleElasticClient() throws Exception

在使用高级rest客户端连接elasticsearch 7.4时,是否有方法忽略SSL证书验证。我探索了几个选择,但在我的案例中没有任何效果。我有一个HTTPS ES群集,我想通过忽略ssl证书验证从我的spring boot应用程序连接它


非常感谢您的帮助

希望这能对你有所帮助,我也遇到了同样的问题,我就是这样解决的

    @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
                        .builder(new HttpHost(hostNameOrLoadbalancerURL, 443, "https")) 
//port number is given as 443 since its https schema
                        .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!!");
            }
        }

嘿,阿努斯里,非常感谢。这对我来说非常有效。我只是需要对指定ES用户名和密码做一些更改。