Port proxy verzus cieľový port v cURL
Ponechajte port služby HTTPS v jej cieľovej URL a port prostredníka v URL proxy, bez ich prepisovania cez CURLOPT_PORT.
Služba HTTPS na porte 8443 je dostupná cez HTTP proxy na porte 8080. Tieto čísla opisujú rôzne spojenia:
$handle = curl_init('https://api.example:8443/status');
curl_setopt($handle, CURLOPT_PROXY, 'http://proxy.example:8080');
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
Aplikácia stále riadi vykonávanie, ošetrenie chýb aj životný cyklus handla. Úryvok drží vstupy smerovania pokope bez zmeny overovania certifikátu.
cURL sa najprv pripojí k proxy.example:8080. Pre tento cieľ HTTPS uvedie požiadavka na tunel api.example:8443 a identita TLS zostáva api.example.
CURLOPT_PORT je prepísanie cieľového portu, nie portu proxy. Nastavenie na 443 zakaždým, keď URL začína na https, môže prepísať službu zámerne hostovanú na 8443. libcurl odporúča zvoliť port v URL namiesto použitia tejto voľby.
Pri opätovnom použití handla počítajte aj s dávnejším explicitným prepísaním portu. Nová URL neuľahčuje výklad protichodných zachovaných volieb.
Prostredník musí povoliť CONNECT na zvolený cieľový port. Odmietnutie pre 8443 nie je dôvodom presúvať listener proxy alebo vypínať overovanie TLS.