Вмъкване на PSR-18 клиент с поддръжка на прокси в Elasticsearch PHP
Предайте конфигуриран Guzzle на съществуващия ClientBuilder на приложението, като оставите хостовете на клъстера и удостоверяването върху този builder.
$http = new \GuzzleHttp\Client([
'proxy' => 'http://proxy.example:8080',
]);
$builder->setHttpClient($http);
$elasticsearch = $builder->build();$builder е съществуващият Elastic\Elasticsearch\ClientBuilder с предвидените хостове на клъстера и удостоверяване. Тези хостове остават дестинациите; вмъкнатият HTTP клиент избира техния посредник, като използва HTTP кандидат от списъка с HTTP проксита, когато е разрешен публичен маршрут до клъстера.
С документирания транспорт Guzzle по подразбиране setHttpClientOptions също приема опция за прокси. Друга предоставена PSR-18 реализация се нуждае от собствена конфигурация; имената на опциите на Guzzle не са интерфейс, споделян от всяка реализация.
setConnectionParams с вложени cURL опции принадлежи на по-старо поколение транспорт. Използвайте входа, който действително конструираният клас предоставя.
Използвайте повторно конфигурирания клиент за неговата натовареност. Дръжте идентификационните данни за прокси при посредника, а API ключа — в Elasticsearch, и пазете 407 отделно от отговор за оторизация на клъстера.