Proxy-Konfiguration für Elasticsearch Rest5Client mit HttpClient 5
Setzen Sie den Vermittler am asynchronen HTTP-Builder von Rest5Client und halten Sie die Importe von Apache 4 und 5 einheitlich.
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.