Einen proxyfähigen PSR-18-Client in Elasticsearch PHP einbinden
Übergeben Sie einen konfigurierten Guzzle an den vorhandenen ClientBuilder der Anwendung und lassen Sie Cluster-Hosts und Authentifizierung dort.
$http = new \GuzzleHttp\Client([
'proxy' => 'http://proxy.example:8080',
]);
$builder->setHttpClient($http);
$elasticsearch = $builder->build();$builder ist der vorhandene Elastic\Elasticsearch\ClientBuilder mit den vorgesehenen Cluster-Hosts und der Authentifizierung. Diese Hosts bleiben die Ziele; der injizierte HTTP-Client wählt ihren Vermittler und nutzt dabei einen HTTP-Kandidaten aus der HTTP-Proxy-Liste, wenn eine öffentliche Route zum Cluster erlaubt ist.
Beim dokumentierten Standardtransport von Guzzle akzeptiert setHttpClientOptions außerdem eine Proxy-Option. Eine andere bereitgestellte PSR-18-Implementierung braucht ihre eigene Konfiguration; Guzzle-Optionsnamen sind keine Schnittstelle, die jede Implementierung teilt.
setConnectionParams mit verschachtelten cURL-Optionen gehört zu einer älteren Transportgeneration. Verwenden Sie die Eingabe, die die tatsächlich konstruierte Klasse bereitstellt.
Verwenden Sie den konfigurierten Client für seine Arbeitslast wieder. Halten Sie Proxy-Anmeldedaten beim Vermittler und den API-Schlüssel bei Elasticsearch und bewahren Sie einen 407 getrennt von einer Autorisierungsantwort des Clusters auf.