$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 のオプション名は、すべての実装が共有するインターフェースではありません。

ネストした cURL オプションを伴う setConnectionParams は、より古い世代のトランスポートに属します。実際に構築されたクラスが公開する入力を使ってください。

設定済みのクライアントをそのワークロードに再利用してください。プロキシの資格情報は仲介者に、API キーは Elasticsearch に置き、407 はクラスターの認可応答とは別に保ってください。

関連記事