Injetar um cliente PSR-18 ciente de proxy no Elasticsearch PHP
Passe um Guzzle configurado para o ClientBuilder existente da aplicação, deixando os hosts do cluster e a autenticação nesse builder.
$http = new \GuzzleHttp\Client([
'proxy' => 'http://proxy.example:8080',
]);
$builder->setHttpClient($http);
$elasticsearch = $builder->build();$builder é o Elastic\Elasticsearch\ClientBuilder existente com os hosts de cluster e a autenticação pretendidos. Esses hosts continuam a ser os destinos; o cliente HTTP injetado escolhe o intermediário deles, usando um candidato HTTP da lista de proxies HTTP quando uma rota pública para o cluster é permitida.
Com o transporte Guzzle padrão documentado, setHttpClientOptions também aceita uma opção de proxy. Outra implementação PSR-18 fornecida precisa da sua própria configuração; os nomes de opções do Guzzle não são uma interface partilhada por todas as implementações.
setConnectionParams com opções cURL aninhadas pertence a uma geração de transporte mais antiga. Use a entrada exposta pela classe realmente construída.
Reutilize o cliente configurado para a sua carga de trabalho. Mantenha as credenciais do proxy no intermediário e a chave de API no Elasticsearch, e conserve um 407 separado de uma resposta de autorização do cluster.