$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.

Artigos relacionados