简体   繁体   English

忽略 SSL 证书验证,同时从 SPRING 引导通过高级 Z65E8800B8CB28060

[英]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.有没有办法在使用高级 rest 客户端连接 elasticsearch 7.4 时忽略 SSL 证书验证。 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.我有一个 HTTPS ES 集群,我想通过忽略 ssl 证书验证从我的 spring 引导应用程序连接它。

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
                        .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!!");
            }
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用Spring Boot和Java高级Rest客户端从Elasticsearch中搜索数据? - How to search data from a Elasticsearch, using spring boot with Java high level rest client? 来自 Spring-Boot 的高级 Rest 客户端 7.1.1:java.lang.NoSuchMethodError: org.elasticsearch.action.bulk.BulkRequest.pipeline()Ljava/lang/String; - High Level Rest client 7.1.1 from Spring-Boot : java.lang.NoSuchMethodError: org.elasticsearch.action.bulk.BulkRequest.pipeline()Ljava/lang/String; ElasticSearch Rest 高级客户端重新映射错误 - ElasticSearch Rest High Level Client remapping wrong Spring 使用 SSL 证书启动连接数据库 - Spring Boot Connecting database using SSL Certificate Spring Data Elasticsearch 2.2.3.RELEASE如何配置Rest高级客户端的socket超时 - How to configure the socket timeout of the Rest high level client in Spring Data Elasticsearch 2.2.3.RELEASE Elasticsearch 高级别的客户端无法映射 geo_point - Elasticsearch high level rest client could not map geo_point Elasticsearch高级Rest Client Java排序不正常 - Elasticsearch High Level Rest Client Java sorting not working properly 使用java高级rest客户端rangeQuery()时的Elasticsearch问题 - Elasticsearch-problem in using java high level rest client rangeQuery() Elasticsearch REST高级客户端结合了查询构建器 - Elasticsearch REST High Level Client combine query builders Spring Boot 使用 ssl 连接到 mongodb(对等证书验证失败) - Spring boot connecting to mongodb with ssl (peer certificate validation failed)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM