HTTP CONNECT: Slik handterer ein HTTP-proxy HTTPS
Følg ein HTTPS-førespurnad gjennom ein HTTP-proxy, skil CONNECT-svaret frå svaret frå opphavsserveren, og finn ut kvar tunnelen sviktar.
«200 Connection Established» tyder at proxyen godtek ein tunnel. Nettstaden har enno ikkje returnert noka side. Deretter kjem TLS med målet, etterfølgt av sjølve HTTPS-førespurnaden.
Frå proxytilkopling til svaret frå nettstaden
- Klienten koplar seg til endepunktet til proxyen.
- Han ber proxyen kople seg til ein målvert og ein port.
- Proxyen godtek eller avviser førespurnaden.
- Etter at han er godteken, forhandlar klienten TLS med målet gjennom tunnelen.
- Klienten sender HTTPS-førespurnaden og tek imot svaret frå nettstaden inne i TLS.
Ei avvist tilkopling til proxyen, ein avvist tunnel og ein sertifikatfeil oppstår på ulike stader i denne rekkjefølgja. Finn det siste fullførte steget før du endrar innstillingar.
CONNECT-utvekslinga
I HTTP/1.1 ser ei forenkla utveksling slik ut:
CONNECT example.com:443 HTTP/1.1
Host: example.com:443
HTTP/1.1 200 Connection Established
Målet for førespurnaden er ein vert og ein port, utan stien eller spørjeparametrane til nettstaden. Etter eit vellukka CONNECT-svar fraktar tilkoplinga tunnelbyte. For eit HTTPS-mål er den neste utvekslinga til klienten TLS-handtrykket.
Les den numeriske statusen framfor å sjå etter ei bestemt engelsk grunngjeving. Proxyar kan bruke ulik tekst for same status.
Følg med gjennom curl
For ein HTTP-proxy på lokal port 8080:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Byt ut lytteadressa med ditt endepunkt. Treng du kandidatar, kan du bla i lista over HTTP-proxyar og teste den valde oppføringa. Den tomme unntakslista sikrar at dette kallet vel proxyen. Sjå i kronologisk rekkjefølgje etter proxytilkoplinga, CONNECT-svaret, kontrollen av målsertifikatet og svaret frå nettstaden. Den nøyaktige loggteksten kjem an på curl-bygget.
Målet kan returnere 404, 429 eller 500 etter at proxyen har godteke tunnelen. Det kan òg svikte under TLS før noko HTTP-svar vert returnert.
Kvar stoppa det?
| Observasjon | Kva du undersøker vidare |
|---|---|
| Tilkoplinga til proxyen vert avvist | Proxyadresse, lytteport, prosess og nettverkstilgang. |
| Proxyen returnerer 407 | Proxykontoen og autentiseringsmetoden. |
| Proxyen avviser eit mål eller ein port | Tilgangsreglar og tillatne CONNECT-mål. |
| Tunnelen opnar seg, men TLS-kontrollen sviktar etterpå | Målnamn, tillitslager, klokke og eventuell administrert TLS-avskjering. |
| TLS lukkast og nettstaden returnerer ein feil | Svaret frå nettstaden. |
Hald éi side uendra når du samanliknar: prøv eit anna mål gjennom same proxy, eller samanlikn same mål over ei tillaten direkte rute.
Tunnelen har framleis ein operatør
Proxyen kjenner CONNECT-målet og handterer tidspunkt og volum for trafikken. Vanleg ende-til-ende-TLS vernar applikasjonsinnhaldet til nettstaden mot ein proxy som ikkje terminerer denne TLS-økta. Ein administrert avskjeringsproxy som klienten stolar på, har ei anna tillitsordning.