HTTPS услуга на порт 8443 е достъпна през HTTP прокси на порт 8080. Тези числа описват различни връзки:

$handle = curl_init('https://api.example:8443/status');
curl_setopt($handle, CURLOPT_PROXY, 'http://proxy.example:8080');
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);

Приложението продължава да отговаря за изпълнението, обработката на грешки и жизнения цикъл на манипулатора. Фрагментът държи входните данни за маршрутизиране заедно, без да променя проверката на сертификата.

cURL първо се свързва с proxy.example:8080. За тази HTTPS дестинация заявката за тунел посочва api.example:8443, а идентичността по TLS остава api.example.

CURLOPT_PORT е замяна на порта на дестинацията, а не на порта на прокси сървъра. Задаването му на 443 всеки път, когато URL адресът започва с https, може да замени услуга, умишлено хоствана на 8443. libcurl препоръчва избор на порта в URL адреса вместо използване на тази опция.

Когато използвате повторно манипулатор, отчитайте и всяка предишна изрична замяна на порта. Новият URL адрес не прави противоречивите запазени опции по-лесни за тълкуване.

Посредникът трябва да разрешава CONNECT към избрания порт на дестинацията. Отказ за 8443 не е причина да местите слушателя на прокси сървъра или да изключвате проверката по TLS.

Подобни статии