在弹性搜索高级客户端中为JAVA添加身份validation

我在使用X-PACK保护的弹性云实例中使用了弹性搜索实例。

我以前一直在使用高级rest客户端没有任何问题,但我无法找到如何发送基本身份validation标头。

我试图将凭据作为URL的一部分,但在这种情况下它似乎无法连接。

有没有人成功连接到高级rest客户端的安全弹性搜索?

干杯,

您可以为Java低级别REST客户端指定用户名和密码,并将低级别REST客户端传递给RestHighLevelClient实例。

 final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("user", "password")); RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200)) .setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() { @Override public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) { return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider); } }); RestHighLevelClient client = new RestHighLevelClient(builder); 

参考文献: