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.

Relaterte artikler