Le Rest5Client d'Elasticsearch expose son constructeur Apache HttpClient 5 via un callback de configuration :

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

Transmettez rest à la configuration du transport Elasticsearch de l'application et fermez-le lorsque ce composant s'arrête. L'hôte de recherche reste en HTTPS ; le schéma http du proxy décrit la connexion à l'intermédiaire. Pour un itinéraire autorisé via un proxy public vers un hôte de recherche accessible publiquement, la liste de proxys HTTP fournit des candidats de point de terminaison ; vérifiez que le proxy choisi autorise l'hôte de recherche et le port.

Pour l'authentification du proxy, joignez un fournisseur d'identifiants Apache 5 correctement délimité dans le même callback. Conservez le compte Elasticsearch séparément.

Le callback accepte un Consumer : configurez le constructeur fourni dans le bloc sans renvoyer de remplacement. Les exemples RestHighLevelClient utilisant org.apache.http relèvent d'une génération plus ancienne ; Apache 5 utilise les paquets org.apache.hc.

Articles similaires