Elasticsearch PHP ਵਿੱਚ ਪ੍ਰੌਕਸੀ-ਜਾਣੂ PSR-18 ਕਲਾਇੰਟ ਇੰਜੈਕਟ ਕਰੋ
ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਮੌਜੂਦਾ ClientBuilder ਨੂੰ ਕਨਫਿਗਰ ਕੀਤਾ Guzzle ਦਿਓ, ਕਲਸਟਰ ਹੋਸਟ ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ ਉਸੇ builder ਉੱਤੇ ਰੱਖੋ।
$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 ਨੂੰ ਕਲਸਟਰ ਦੇ ਮਨਜ਼ੂਰੀ ਜਵਾਬ ਤੋਂ ਵੱਖ ਰੱਖੋ।