Inxectar un cliente PSR-18 consciente do proxy en Elasticsearch PHP
Pase un Guzzle configurado ao ClientBuilder existente da aplicación, deixando os hosts do clúster e a autenticación nese builder.
$http = new \GuzzleHttp\Client([
'proxy' => 'http://proxy.example:8080',
]);
$builder->setHttpClient($http);
$elasticsearch = $builder->build();$builder é o Elastic\Elasticsearch\ClientBuilder existente cos hosts do clúster e a autenticación previstos. Eses hosts seguen sendo os destinos; o cliente HTTP inxectado elixe o seu intermediario, usando un candidato HTTP da lista de proxies HTTP cando se permite unha ruta pública ao clúster.
Co transporte Guzzle predeterminado documentado, setHttpClientOptions tamén acepta unha opción de proxy. Outra implementación PSR-18 fornecida necesita a súa propia configuración; os nomes das opcións de Guzzle non son unha interface compartida por todas as implementacións.
setConnectionParams con opcións cURL aniñadas pertence a unha xeración de transporte máis antiga. Use a entrada que expón a clase realmente construída.
Reutilice o cliente configurado para a súa carga de traballo. Manteña as credenciais do proxy no intermediario e a chave API en Elasticsearch, e conserve un 407 por separado dunha resposta de autorización do clúster.