En HTTPS-tjeneste på port 8443 er tilgjengelig via en HTTP-proxy på port 8080. Disse tallene beskriver forskjellige 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 eier fortsatt utførelsen, feilhåndteringen og livssyklusen til håndtaket. Utdraget holder rutingsinndataene sammen uten å endre sertifikatvalideringen.

cURL kobler først til proxy.example:8080. For dette HTTPS-målet navngir tunnel-forespørselen api.example:8443, og TLS-identiteten forblir api.example.

CURLOPT_PORT er en overstyring av målporten, ikke proxyens port. Å sette den til 443 hver gang en URL begynner med https, kan overstyre en tjeneste som bevisst ligger på 8443. libcurl anbefaler å velge porten i URL-en i stedet for å bruke det alternativet.

Når du gjenbruker et håndtak, må du også ta høyde for 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.

Relaterte artikler