$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은 클러스터 인증 응답과 별도로 보존하세요.

관련 글