cURL port proksija nasuprot portu odredišta
Zadržite port HTTPS usluge u URL-u odredišta, a port posrednika u URL-u proksija, bez njihovog nadjačavanja putem CURLOPT_PORT.
HTTPS usluzi na portu 8443 može se pristupiti kroz HTTP proksi na portu 8080. Ti brojevi opisuju različite veze:
$handle = curl_init('https://api.example:8443/status');
curl_setopt($handle, CURLOPT_PROXY, 'http://proxy.example:8080');
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
Aplikacija i dalje upravlja izvršavanjem, rukovanjem greškama i životnim ciklusom ručke. Isječak drži ulazne parametre usmjeravanja na jednom mjestu bez promjene provjere certifikata.
cURL se prvo povezuje na proxy.example:8080. Za ovo HTTPS odredište zahtjev za tunel navodi api.example:8443, a TLS identitet ostaje api.example.
CURLOPT_PORT je nadjačavanje porta odredišta, a ne porta proksija. Postavljanje na 443 kad god URL počinje s https može nadjačati uslugu namjerno hostovanu na 8443. libcurl preporučuje odabir porta u URL-u umjesto korištenja te opcije.
Kada ponovno koristite ručku, uzmite u obzir i svako ranije eksplicitno nadjačavanje porta. Novi URL ne olakšava tumačenje proturječnih zadržanih opcija.
Posrednik mora dopustiti CONNECT na odabrani port odredišta. Odbijanje za 8443 nije razlog za premještanje proksi listenera ili isključivanje TLS provjere.