O Rest5Client do Elasticsearch expõe seu construtor Apache HttpClient 5 por meio de um callback de configuração:

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();

Passe rest para a configuração de transporte do Elasticsearch da aplicação e feche-o quando esse componente for encerrado. O host de pesquisa permanece em HTTPS; o esquema http do proxy descreve a conexão do intermediário. Para uma rota permitida de proxy público até um host de pesquisa acessível publicamente, a lista de proxies HTTP fornece candidatos de endpoint; confirme que o proxy escolhido permite o host de pesquisa e a porta.

Para autenticação do proxy, anexe um provedor de credenciais do Apache 5 com o escopo adequado no mesmo callback. Mantenha a conta do Elasticsearch separada.

O callback aceita um Consumer: configure o construtor fornecido dentro do bloco sem retornar um substituto. Exemplos de RestHighLevelClient com org.apache.http pertencem a uma geração anterior; o Apache 5 usa os pacotes org.apache.hc.

Artigos relacionados