Injecter un client PSR-18 conscient du proxy dans Elasticsearch PHP
Transmettez un Guzzle configuré au ClientBuilder existant de l'application, en laissant les hôtes de cluster et l'authentification sur ce builder.
$http = new \GuzzleHttp\Client([
'proxy' => 'http://proxy.example:8080',
]);
$builder->setHttpClient($http);
$elasticsearch = $builder->build();$builder est le Elastic\Elasticsearch\ClientBuilder existant, avec les hôtes de cluster et l'authentification prévus. Ces hôtes restent les destinations ; le client HTTP injecté choisit leur intermédiaire, en utilisant un candidat HTTP de la liste de proxys HTTP lorsqu'une route publique vers le cluster est autorisée.
Avec le transport Guzzle par défaut documenté, setHttpClientOptions accepte aussi une option de proxy. Une autre implémentation PSR-18 fournie a besoin de sa propre configuration ; les noms d'options Guzzle ne sont pas une interface partagée par toutes les implémentations.
setConnectionParams avec des options cURL imbriquées appartient à une génération de transport plus ancienne. Utilisez l'entrée exposée par la classe réellement construite.
Réutilisez le client configuré pour sa charge de travail. Gardez les identifiants du proxy chez l'intermédiaire et la clé API chez Elasticsearch, et conservez un 407 séparément d'une réponse d'autorisation du cluster.