HTTP CONNECT: kuidas HTTP-puhverserver HTTPS-i käsitleb
Jälgi HTTPS-päringut läbi HTTP-puhverserveri, erista CONNECT-vastust algserveri vastusest ja leia tunneli tõrke koht.
„200 Connection Established” tähendab, et puhverserver võtab tunneli vastu. Veebisait pole veel lehte tagastanud. Järgneb TLS sihtkohaga ja seejärel HTTPS-päring ise.
Puhverserveriga ühendumisest veebisaidi vastuseni
- Klient ühendub puhverserveri lõpp-punktiga.
- Ta palub puhverserveril ühenduda sihthosti ja pordiga.
- Puhverserver võtab selle taotluse vastu või lükkab tagasi.
- Pärast vastuvõtmist lepib klient tunneli kaudu sihtkohaga kokku TLS-i.
- Klient saadab HTTPS-päringu ja saab veebisaidi vastuse TLS-i sees.
Keeldutud ühendus puhverserveriga, tagasilükatud tunnel ja sertifikaadiviga tekivad selle jada eri punktides. Enne seadete muutmist leia viimane lõpetatud samm.
CONNECT-vahetus
HTTP/1.1 puhul näeb lihtsustatud vahetus välja nii:
CONNECT example.com:443 HTTP/1.1
Host: example.com:443
HTTP/1.1 200 Connection Established
Päringu siht on host ja port, ilma veebisaidi tee või päringuparameetriteta. Pärast edukat CONNECT-vastust kannab ühendus tunneli baite. HTTPS-sihtkoha puhul on kliendi järgmine vahetus TLS-kätlus.
Loe numbrilist olekukoodi, mitte ära otsi ingliskeelse selgitusfraasi täpset vastet. Puhverserverid võivad sama oleku jaoks kasutada eri teksti.
Jälgimine curl-iga
Kohalikus pordis 8080 töötava HTTP-puhverserveri puhul:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Asenda kuulamisaadress oma lõpp-punktiga. Kui vajad kandidaate, sirvi HTTP-puhverserverite loendit ja testi valitud kirjet. Tühi erandiloend tagab, et see väljakutse valib puhverserveri. Otsi ajalises järjekorras ühendust puhverserveriga, CONNECT-vastust, sihtkoha sertifikaadi kontrolli ja veebisaidi vastust. Logi täpne sõnastus sõltub curl-i järgust.
Sihtkoht võib tagastada 404, 429 või 500 pärast seda, kui puhverserver on tunneli vastu võtnud. Tõrge võib tekkida ka TLS-i ajal, enne ühegi HTTP-vastuse tagastamist.
Kus see peatus?
| Tähelepanek | Mida järgmisena uurida |
|---|---|
| Ühendusest puhverserveriga keeldutakse | Puhverserveri aadress, kuulamisport, protsess ja võrgujuurdepääs. |
| Puhverserver tagastab 407 | Puhverserveri konto ja autentimisskeem. |
| Puhverserver lükkab sihtkoha või pordi tagasi | Juurdepääsureeglid ja lubatud CONNECT-sihtkohad. |
| Tunnel avaneb, seejärel TLS-i kontroll ebaõnnestub | Sihtkoha nimi, usaldushoidla, kell ja võimalik hallatud TLS-i pealtkuulamine. |
| TLS õnnestub ja veebisait tagastab vea | Veebisaidi vastus. |
Võrdlemiseks hoia üks pool muutumatuna: proovi teist sihtkohta sama puhverserveri kaudu või võrdle sama sihtkohta lubatud otsemarsruudil.
Tunnelil on endiselt haldaja
Puhverserver teab CONNECT-sihtkohta ning käsitleb liikluse ajastust ja mahtu. Tavaline otspunktkrüpteeringuga TLS kaitseb veebisaidi rakenduse sisu puhverserveri eest, mis seda TLS-seanssi ei lõpeta. Hallatud pealtkuulamispuhverserveril, mida klient usaldab, on teistsugune usalduskorraldus.