HTTP CONNECT: Hoe 'n HTTP-instaanbediener HTTPS hanteer
Volg 'n HTTPS-versoek deur 'n HTTP-instaanbediener, onderskei die CONNECT-antwoord van die oorsprong se antwoord en bepaal waar die tonnel faal.
“200 Connection Established” beteken die instaanbediener aanvaar 'n tonnel. Die webwerf het nog nie 'n bladsy teruggestuur nie. Daarna volg TLS met die bestemming, en dan die HTTPS-versoek self.
Van die verbinding met die instaanbediener tot die webwerf se antwoord
- Die kliënt verbind met die instaanbediener se eindpunt.
- Dit vra die instaanbediener om met 'n bestemmingsgasheer en -poort te verbind.
- Die instaanbediener aanvaar of weier daardie versoek.
- Ná aanvaarding onderhandel die kliënt TLS met die bestemming deur die tonnel.
- Die kliënt stuur die HTTPS-versoek en ontvang die webwerf se antwoord binne TLS.
'n Geweierde verbinding met die instaanbediener, 'n afgekeurde tonnel en 'n sertifikaatfout kom op verskillende punte in hierdie volgorde voor. Bepaal die laaste voltooide stap voordat jy instellings verander.
Die CONNECT-uitruiling
In HTTP/1.1 lyk 'n vereenvoudigde uitruiling so:
CONNECT example.com:443 HTTP/1.1
Host: example.com:443
HTTP/1.1 200 Connection Established
Die versoekteiken is 'n gasheer en poort, sonder die webwerf se pad of navraag. Ná 'n suksesvolle CONNECT-antwoord dra die verbinding tonnelgrepe. Vir 'n HTTPS-bestemming is die kliënt se volgende uitruiling die TLS-handdruk.
Lees die numeriese status eerder as om die Engelse redefrase te probeer pas. Instaanbedieners kan verskillende teks vir dieselfde status gebruik.
Kyk daarna met curl
Vir 'n HTTP-instaanbediener op plaaslike poort 8080:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Vervang die luisteradres met jou eindpunt; as jy kandidate nodig het, kyk deur die HTTP-instaanbedienerlys en toets die gekose inskrywing. Die leë omseillys verseker dat hierdie aanroep die instaanbediener kies. Soek in tydsvolgorde na die verbinding met die instaanbediener, CONNECT-antwoord, verifikasie van die bestemmingsertifikaat en webwerfantwoord. Die presiese logteks hang van die curl-bou af.
Die bestemming kan 404, 429 of 500 terugstuur nadat die instaanbediener die tonnel aanvaar het. Dit kan ook tydens TLS faal voordat enige HTTP-antwoord terugkom.
Waar het dit gestop?
| Waarneming | Wat om volgende te ondersoek |
|---|---|
| Die verbinding met die instaanbediener word geweier | Instaanbedieneradres, luisterpoort, proses en netwerktoegang. |
| Die instaanbediener stuur 407 terug | Die instaanbedienerrekening en verifikasieskema. |
| Die instaanbediener weier 'n bestemming of poort | Toegangsbeleid en toegelate CONNECT-bestemmings. |
| Die tonnel maak oop, maar TLS-verifikasie faal daarna | Bestemmingsnaam, vertrouensbewaarplek, klok en enige bestuurde TLS-onderskepping. |
| TLS slaag en die webwerf stuur 'n fout terug | Die webwerf se antwoord. |
Hou een kant dieselfde wanneer jy vergelyk: probeer 'n ander bestemming deur dieselfde instaanbediener, of vergelyk dieselfde bestemming oor 'n toegelate direkte roete.
Die tonnel het steeds 'n operateur
Die instaanbediener ken die CONNECT-bestemming en hanteer die verkeer se tydsverloop en volume. Gewone end-tot-end-TLS beskerm die webwerf se toepassingsinhoud teen 'n instaanbediener wat nie daardie TLS-sessie beëindig nie. 'n Bestuurde onderskeppingsinstaanbediener wat die kliënt vertrou, het 'n ander vertrouensverhouding.