Proxyport og målport i cURL
Behold porten til en HTTPS-tjeneste i mål-URL-en og porten til mellomleddet i proxy-URL-en, uten å overstyre dem via CURLOPT_PORT.
En HTTPS-tjeneste på port 8443 kan nås gjennom en HTTP-proxy på port 8080. Disse tallene beskriver ulike forbindelser:
$handle = curl_init('https://api.example:8443/status');
curl_setopt($handle, CURLOPT_PROXY, 'http://proxy.example:8080');
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
Applikasjonen har fortsatt ansvaret for utførelsen, feilhåndteringen og livssyklusen til håndtaket. Utdraget holder rutingsinndataene samlet uten å endre sertifikatvalideringen.
cURL kobler først til proxy.example:8080. For dette HTTPS-målet oppgir tunnel-forespørselen api.example:8443, og TLS-identiteten forblir api.example.
CURLOPT_PORT overstyrer målporten, ikke porten til proxyen. Å sette den til 443 hver gang en URL starter med https kan overstyre en tjeneste som bevisst ligger på 8443. libcurl anbefaler å velge porten i URL-en i stedet for å bruke dette alternativet.
Ved gjenbruk av et håndtak må du også ta hensyn til en tidligere eksplisitt portoverstyring. En ny URL gjør ikke motstridende beholdte alternativer lettere å tolke.
Mellomleddet må tillate CONNECT til den valgte målporten. En avvisning for 8443 er ikke grunn til å flytte proxylytteren eller slå av TLS-validering.