Порта на прокси и порта на дестинација во cURL
Задржете ја портата на HTTPS услугата во нејзиниот URL на дестинација, а портата на посредникот во URL-то на проксито, без да ги заменувате преку CURLOPT_PORT.
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 валидирањето.