Der Rest5Client von Elasticsearch stellt seinen Apache-HttpClient-5-Builder über einen Konfigurations-Callback bereit:

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

Übergeben Sie rest an das Transport-Setup von Elasticsearch in der Anwendung und schließen Sie es, wenn diese Komponente herunterfährt. Der Suchhost bleibt HTTPS; das http-Schema des Proxys beschreibt die Verbindung zum Vermittler. Für eine erlaubte öffentliche Proxy-Route zu einem öffentlich erreichbaren Suchhost liefert die HTTP-Proxy-Liste Endpunkt-Kandidaten; prüfen Sie, ob der gewählte Proxy Suchhost und Port zulässt.

Für die Proxy-Authentifizierung hängen Sie im selben Callback einen passend abgegrenzten Apache-5-Credentials-Provider an. Halten Sie das Elasticsearch-Konto getrennt.

Der Callback akzeptiert einen Consumer: Konfigurieren Sie den übergebenen Builder im Block, ohne einen Ersatz zurückzugeben. RestHighLevelClient-Beispiele mit org.apache.http gehören einer älteren Generation an; Apache 5 verwendet die Pakete org.apache.hc.

Ähnliche Artikel