Configuração de proxy do Elasticsearch Rest5Client com HttpClient 5
Defina o intermediário no construtor HTTP assíncrono do Rest5Client, mantendo as importações do Apache 4 e 5 consistentes.
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.