Впровадження клієнта 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 окремо від відповіді авторизації кластера.