首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用弹性搜索代理配置Rest高级客户端

使用弹性搜索代理配置Rest高级客户端
EN

Stack Overflow用户
提问于 2020-05-07 11:11:02
回答 2查看 1.5K关注 0票数 1

是否有任何方法配置我的rest高级客户端来使用代理与es连接。我的配置是

代码语言:javascript
运行
复制
    @Override
@Bean
public RestHighLevelClient elasticsearchClient() {
    return new RestHighLevelClient(RestClient.builder(HttpHost.create(elasticSearchUrl)));}

我的弹性搜索网址是: aaa.bbbb.ccc.company.com/api/elastic-search-proxy,在这种情况下,我没有这样的主机是已知的,(aaa.bbbb.ccc.company.com/api/elastic-search-proxy),什么是明确的,但有任何选项来配置它吗?

EN

回答 2

Stack Overflow用户

发布于 2020-05-08 03:20:20

它在JHLRC初始化的Elasticsearch文档中提到过,请使用下面的代码:

代码语言:javascript
运行
复制
RestClientBuilder builder = RestClient.builder(
    new HttpHost("localhost", 9200, "http"));
builder.setHttpClientConfigCallback(new HttpClientConfigCallback() {
        @Override
        public HttpAsyncClientBuilder customizeHttpClient(
                HttpAsyncClientBuilder httpClientBuilder) {
            return httpClientBuilder.setProxy(
                new HttpHost("proxy", 9000, "http"));  
        }
    });

org.apache.http.impl.nio.client.HttpAsyncClientBuilder设置回调,允许修改http客户端配置(例如,通过ssl加密通信,或允许设置的任何内容)

因此,在这种情况下,您需要在下面的代码中给出您的原始主机

代码语言:javascript
运行
复制
new HttpHost("localhost", 9200, "http"));

然后,您需要在setHttpClientConfigCallback回调中定义对代理服务器的回调。

代码语言:javascript
运行
复制
new HttpHost("proxy", 9000, "http"));  
票数 3
EN

Stack Overflow用户

发布于 2022-06-24 09:31:21

如果有人使用最新的Elastic客户端8.x,您可以使用这种方式将代理配置到rest客户端。(注意,代理应该已经在系统属性中设置)。也许能帮上忙。

代码语言:javascript
运行
复制
val restClientBuilder = RestClient.builder(
            HttpHost(randomHost, 443, https)
        )*.setHttpClientConfigCallback {
            HttpAsyncClientBuilder.create().useSystemProperties()
        }*
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61656321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档