Wstrzykiwanie klienta PSR-18 świadomego proxy do Elasticsearch PHP
Przekaż skonfigurowany Guzzle do istniejącego ClientBuildera aplikacji, pozostawiając hosty klastra i uwierzytelnianie na tym builderze.
$http = new \GuzzleHttp\Client([
'proxy' => 'http://proxy.example:8080',
]);
$builder->setHttpClient($http);
$elasticsearch = $builder->build();$builder to istniejący Elastic\Elasticsearch\ClientBuilder z zamierzonymi hostami klastra i uwierzytelnianiem. Te hosty pozostają celami; wstrzyknięty klient HTTP wybiera ich pośrednika, używając kandydata HTTP z listy proxy HTTP, gdy publiczna trasa do klastra jest dozwolona.
W przypadku udokumentowanego domyślnego transportu Guzzle setHttpClientOptions przyjmuje także opcję proxy. Inna dostarczona implementacja PSR-18 wymaga własnej konfiguracji; nazwy opcji Guzzle nie są interfejsem wspólnym dla każdej implementacji.
setConnectionParams z zagnieżdżonymi opcjami cURL należy do starszej generacji transportu. Użyj danych wejściowych udostępnianych przez faktycznie utworzoną klasę.
Ponownie użyj skonfigurowanego klienta do jego obciążenia. Trzymaj dane logowania proxy u pośrednika, a klucz API w Elasticsearch, i zachowaj 407 oddzielnie od odpowiedzi autoryzacji klastra.