Rest5Client в Elasticsearch предоставляет свой сборщик Apache HttpClient 5 через callback конфигурации:

import co.elastic.clients.transport.rest5_client.low_level.Rest5Client;
import org.apache.hc.core5.http.HttpHost;

var proxy = new HttpHost("http", "proxy.example.net", 8080);

var rest = Rest5Client.builder(
    new HttpHost("https", "search.example.net", 9200))
    .setHttpClientConfigCallback(httpBuilder -> {
        httpBuilder.setProxy(proxy);
    })
    .build();

Передайте rest в настройку транспорта Elasticsearch приложения и закройте его при остановке этого компонента. Хост поиска остаётся HTTPS; схема http прокси описывает соединение с посредником. Для разрешённого маршрута через публичный прокси к публично доступному хосту поиска список HTTP-прокси предлагает кандидатов конечных точек; убедитесь, что выбранный прокси разрешает хост поиска и порт.

Для аутентификации прокси подключите в том же callback поставщика учётных данных Apache 5 с подходящей областью действия. Храните учётную запись Elasticsearch отдельно.

Callback принимает Consumer: настройте переданный сборщик внутри блока, не возвращая замену. Примеры RestHighLevelClient с org.apache.http относятся к предыдущему поколению; Apache 5 использует пакеты org.apache.hc.

Похожие статьи