【问题标题】:Consuming ElasticSearch endpoint behind Basic-Auth-Proxy with RestHighLevelClient使用带有 RestHighLevelClient 的 Basic-Auth-Proxy 后面的 ElasticSearch 端点
【发布时间】:2018-12-24 06:06:03
【问题描述】:

我有一个 ElasticSearch 集群,它位于配置了基本身份验证的代理后面。如何使用凭据从 RestHighLevelClient 拨打电话?在 SpringBoot 中,您通常必须像这样配置 HttpClientContext:

@Bean
public HttpClientContext configuredContext() {
    CredentialsProvider credsProvider = new BasicCredentialsProvider();
    credsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(DEFAULT_USER, DEFAULT_PASS));

    AuthCache authCache = new BasicAuthCache();
    authCache.put(httpHost, new BasicScheme());

    final HttpClientContext context = HttpClientContext.create();
    context.setCredentialsProvider(credsProvider);
    context.setAuthCache(authCache);
    return context;
}

但我在 ClientBuilder 或上下文中找不到任何合适的参数。有什么方法可以使这个设置起作用吗?

【问题讨论】:

    标签: java spring spring-boot elasticsearch


    【解决方案1】:

    您可以创建 RestHighLevelClient 实例为

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

    https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/_basic_authentication.html。希望这会有所帮助。

    【讨论】:

    • 不要介意我之前的评论。现在可以了,谢谢。
    猜你喜欢
    • 2019-01-22
    • 1970-01-01
    • 2020-10-14
    • 2022-08-18
    • 2015-09-21
    • 1970-01-01
    • 2015-10-26
    • 2020-06-28
    • 1970-01-01
    相关资源
    最近更新 更多