Rest5Client de Elasticsearch expone su constructor de Apache HttpClient 5 mediante una devolución de llamada de configuración:

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

Pase rest a la configuración de transporte de Elasticsearch de la aplicación y ciérrelo cuando ese componente se detenga. El host de búsqueda sigue en HTTPS; el esquema http del proxy describe la conexión del intermediario. Para una ruta permitida de proxy público hacia un host de búsqueda accesible públicamente, la lista de proxies HTTP ofrece candidatos de punto de conexión; confirme que el proxy elegido permite el host de búsqueda y el puerto.

Para la autenticación del proxy, adjunte un proveedor de credenciales de Apache 5 con el alcance adecuado en la misma devolución de llamada. Mantenga la cuenta de Elasticsearch por separado.

La devolución de llamada acepta un Consumer: configure el constructor proporcionado dentro del bloque sin devolver un reemplazo. Los ejemplos de RestHighLevelClient con org.apache.http pertenecen a una generación anterior; Apache 5 usa los paquetes org.apache.hc.

Artículos relacionados