Injicera en proxy-medveten PSR-18-klient i Elasticsearch PHP
Skicka en konfigurerad Guzzle till applikationens befintliga ClientBuilder och låt klustervärdar och autentisering stanna på den buildern.
$http = new \GuzzleHttp\Client([
'proxy' => 'http://proxy.example:8080',
]);
$builder->setHttpClient($http);
$elasticsearch = $builder->build();$builder är den befintliga Elastic\Elasticsearch\ClientBuilder med de avsedda klustervärdarna och autentiseringen. Dessa värdar förblir destinationerna; den injicerade HTTP-klienten väljer deras mellanhand och använder en HTTP-kandidat från HTTP-proxylistan när en offentlig väg till klustret är tillåten.
Med den dokumenterade standard-Guzzle-transporten accepterar setHttpClientOptions också ett proxyalternativ. En annan levererad PSR-18-implementering behöver sin egen konfiguration; Guzzles alternativnamn är inte ett gränssnitt som alla implementeringar delar.
setConnectionParams med kapslade cURL-alternativ tillhör en äldre transportgeneration. Använd indata som den faktiskt konstruerade klassen exponerar.
Återanvänd den konfigurerade klienten för dess arbetsbelastning. Håll proxyuppgifterna hos mellanhanden och API-nyckeln hos Elasticsearch, och bevara en 407 separat från ett auktoriseringssvar från klustret.