Настроить Rest High Client с помощью Elasti c Search proxy - PullRequest
0 голосов
/ 07 мая 2020

есть ли способ настроить мой клиент rest high для подключения к es с помощью прокси. Моя конфигурация:

    @Override
@Bean
public RestHighLevelClient elasticsearchClient() {
    return new RestHighLevelClient(RestClient.builder(HttpHost.create(elasticSearchUrl)));}

My elasti c URL поиска: aaa.bbbb. ccc .company.com / api / elasti c -search-proxy В этом случае я не получаю такого хост известен (aaa.bbbb. ccc .company.com / api / elasti c -search-proxy), что мне ясно, но есть ли возможность его настроить?

1 Ответ

1 голос
/ 08 мая 2020

Упоминается в документации Elasticsearch JHLR C инициализация , используйте следующий код:

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

Установите обратный вызов, который позволяет изменять конфигурацию HTTP-клиента ( например, зашифрованная связь через ssl или что-либо, что позволяет установить org. apache .http.impl.nio.client.HttpAsyncClientBuilder)

Итак, в вашем случае вам нужно указать исходный хост в приведенном ниже коде

new HttpHost("localhost", 9200, "http"));

И затем вам нужно определить обратный вызов для вашего прокси-сервера в setHttpClientConfigCallback обратном вызове.

new HttpHost("proxy", 9000, "http"));  
...