Inyectar un cliente PSR-18 compatible con proxy en Elasticsearch PHP
Pase un Guzzle configurado al ClientBuilder existente de la aplicación, dejando los hosts del clúster y la autenticación en ese builder.
$http = new \GuzzleHttp\Client([
'proxy' => 'http://proxy.example:8080',
]);
$builder->setHttpClient($http);
$elasticsearch = $builder->build();$builder es el Elastic\Elasticsearch\ClientBuilder existente con los hosts de clúster y la autenticación previstos. Esos hosts siguen siendo los destinos; el cliente HTTP inyectado elige su intermediario, usando un candidato HTTP de la lista de proxies HTTP cuando se permite una ruta pública al clúster.
Con el transporte Guzzle predeterminado documentado, setHttpClientOptions también acepta una opción de proxy. Otra implementación PSR-18 proporcionada necesita su propia configuración; los nombres de opciones de Guzzle no son una interfaz compartida por todas las implementaciones.
setConnectionParams con opciones cURL anidadas pertenece a una generación de transporte anterior. Use la entrada que expone la clase realmente construida.
Reutilice el cliente configurado para su carga de trabajo. Mantenga las credenciales del proxy en el intermediario y la clave de API en Elasticsearch, y conserve un 407 por separado de una respuesta de autorización del clúster.