$http = new \GuzzleHttp\Client([
    'proxy' => 'http://proxy.example:8080',
]);

$builder->setHttpClient($http);
$elasticsearch = $builder->build();

$builder is de bestaande Elastic\Elasticsearch\ClientBuilder met de bedoelde clusterhosts en authenticatie. Die hosts blijven de bestemmingen; de geïnjecteerde HTTP-client kiest hun tussenpersoon, met een HTTP-kandidaat uit de HTTP-proxylijst wanneer een openbare route naar het cluster is toegestaan.

Met het gedocumenteerde standaard Guzzle-transport accepteert setHttpClientOptions ook een proxyoptie. Een andere geleverde PSR-18-implementatie heeft zijn eigen configuratie nodig; Guzzle-optienamen zijn geen interface die elke implementatie deelt.

setConnectionParams met geneste cURL-opties hoort bij een oudere transportgeneratie. Gebruik de invoer die de daadwerkelijk geconstrueerde klasse biedt.

Hergebruik de geconfigureerde client voor zijn werklast. Houd proxyreferenties bij de tussenpersoon en de API-sleutel bij Elasticsearch, en bewaar een 407 apart van een autorisatierespons van het cluster.

Gerelateerde artikelen