0

HTTPS 接続HTTPS/SSL サポートを介して Elasticsearch に接続しようとしています。

コードは次のとおりです

// trust ALL certificates
        SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {
            public boolean isTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
                return true;
            }
        }).build();

        // skip hostname checks
        HostnameVerifier hostnameVerifier = NoopHostnameVerifier.INSTANCE;

        SSLConnectionSocketFactory sslSocketFactory = new SSLConnectionSocketFactory(sslContext, hostnameVerifier);
        SchemeIOSessionStrategy httpsIOSessionStrategy = new SSLIOSessionStrategy(sslContext, hostnameVerifier);

        JestClientFactory factory = new JestClientFactory();
        factory.setHttpClientConfig(new HttpClientConfig.Builder("https://localhost:9200")
                        .defaultSchemeForDiscoveredNodes("https") // required, otherwise uses http
                        .sslSocketFactory(sslSocketFactory) // this only affects sync calls
                        .httpsIOSessionStrategy(httpsIOSessionStrategy) // this only affects async calls
                        .build());            

        JestClient client = factory.getObject();

        SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
        searchSourceBuilder.query(QueryBuilders.matchAllQuery());                     
         Search search = new Search.Builder(searchSourceBuilder.toString())                
                .addIndex(INDEX)
                .addType(TYPE)                
                .setParameter(Parameters.SIZE, 2)
                .setParameter(Parameters.SCROLL, "5m")               
                .build();
             JestResult result = client.execute(search);

http接続を使用して接続できます。しかし、HTTPS接続を使用して接続しようとすると、次のエラーが発生します

エラー

このエラーを見つけたらお知らせください。コードに問題はありますか?

4

0 に答える 0