HTTP CONNECT: kako HTTP proxy obrađuje HTTPS
Pratite HTTPS zahtjev kroz HTTP proxy, odvojite odgovor CONNECT od odgovora izvornog poslužitelja i utvrdite gdje tunel zakazuje.
„200 Connection Established” znači da proxy prihvaća tunel. Web-mjesto još nije vratilo stranicu. Slijedi TLS s odredištem, a zatim sam HTTPS zahtjev.
Od veze s proxyjem do odgovora web-mjesta
- Klijent se povezuje s krajnjom točkom proxyja.
- Traži od proxyja da se poveže s odredišnim računalom i priključkom.
- Proxy prihvaća ili odbija taj zahtjev.
- Nakon prihvaćanja klijent kroz tunel dogovara TLS s odredištem.
- Klijent šalje HTTPS zahtjev i prima odgovor web-mjesta unutar TLS-a.
Odbijena veza s proxyjem, odbijen tunel i pogreška certifikata javljaju se na različitim mjestima u ovom slijedu. Prije promjene postavki pronađite posljednji dovršeni korak.
Razmjena CONNECT
U HTTP/1.1 pojednostavljena razmjena izgleda ovako:
CONNECT example.com:443 HTTP/1.1
Host: example.com:443
HTTP/1.1 200 Connection Established
Cilj zahtjeva su računalo i priključak, bez putanje ili upita web-mjesta. Nakon uspješnog odgovora CONNECT veza prenosi bajtove tunela. Za HTTPS odredište sljedeća je razmjena klijenta TLS rukovanje.
Čitajte brojčani status umjesto uspoređivanja engleskog opisa razloga. Proxyji mogu koristiti različit tekst za isti status.
Promatrajte pomoću curl-a
Za HTTP proxy na lokalnom priključku 8080:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Zamijenite adresu osluškivanja svojom krajnjom točkom. Ako trebate kandidate, pregledajte popis HTTP proxyja i testirajte odabrani unos. Prazan popis iznimki osigurava da ovaj poziv odabere proxy. Kronološki tražite vezu s proxyjem, odgovor CONNECT, provjeru certifikata odredišta i odgovor web-mjesta. Točan tekst zapisa ovisi o načinu izgradnje curl-a.
Odredište može vratiti 404, 429 ili 500 nakon što proxy prihvati tunel. Može i zakazati tijekom TLS-a, prije bilo kakvog HTTP odgovora.
Gdje je stalo?
| Opažanje | Što dalje istražiti |
|---|---|
| Veza s proxyjem je odbijena | Adresu proxyja, priključak za osluškivanje, proces i pristup mreži. |
| Proxy vraća 407 | Proxy račun i način autentifikacije. |
| Proxy odbija odredište ili priključak | Pravila pristupa i dopuštena odredišta CONNECT. |
| Tunel se otvori, a zatim provjera TLS-a ne uspije | Naziv odredišta, spremište pouzdanih certifikata, sat i eventualno upravljano presretanje TLS-a. |
| TLS uspije, a web-mjesto vrati pogrešku | Odgovor web-mjesta. |
Pri usporedbi zadržite jednu stranu nepromijenjenom: pokušajte drugo odredište kroz isti proxy ili usporedite isto odredište dopuštenom izravnom rutom.
Tunel i dalje ima operatera
Proxy zna odredište CONNECT i obrađuje vremenski raspored i količinu prometa. Uobičajeni TLS od kraja do kraja štiti aplikacijski sadržaj web-mjesta od proxyja koji ne završava tu TLS sesiju. Upravljani proxy za presretanje kojem klijent vjeruje ima drugačiji odnos povjerenja.