HTTP CONNECT: näin HTTP-välityspalvelin käsittelee HTTPS:n
Seuraa HTTPS-pyyntöä HTTP-välityspalvelimen läpi, erota CONNECT-vastaus alkuperäpalvelimen vastauksesta ja paikanna tunnelin epäonnistuminen.
”200 Connection Established” tarkoittaa, että välityspalvelin hyväksyy tunnelin. Sivusto ei ole vielä palauttanut sivua. Seuraavaksi muodostetaan TLS kohteeseen ja sen jälkeen lähetetään varsinainen HTTPS-pyyntö.
Välityspalvelinyhteydestä sivuston vastaukseen
- Asiakas yhdistää välityspalvelimen päätepisteeseen.
- Se pyytää välityspalvelinta yhdistämään kohdepalvelimeen ja porttiin.
- Välityspalvelin hyväksyy tai hylkää pyynnön.
- Hyväksymisen jälkeen asiakas neuvottelee TLS:n kohteen kanssa tunnelin läpi.
- Asiakas lähettää HTTPS-pyynnön ja vastaanottaa sivuston vastauksen TLS:n sisällä.
Torjuttu välityspalvelinyhteys, hylätty tunneli ja varmennevirhe tapahtuvat tämän ketjun eri kohdissa. Selvitä viimeinen valmistunut vaihe ennen asetusten muuttamista.
CONNECT-viestinvaihto
HTTP/1.1:ssä yksinkertaistettu viestinvaihto näyttää tältä:
CONNECT example.com:443 HTTP/1.1
Host: example.com:443
HTTP/1.1 200 Connection Established
Pyynnön kohteena on palvelin ja portti, ilman sivuston polkua tai kyselyparametreja. Onnistuneen CONNECT-vastauksen jälkeen yhteys kuljettaa tunnelin tavuja. HTTPS-kohteessa asiakkaan seuraava viestinvaihto on TLS-kättely.
Lue numeerinen tilakoodi englanninkielisen selityslauseen täsmäämisen sijaan. Välityspalvelimet voivat käyttää eri tekstejä samalle tilalle.
Seuraa tapahtumia curlilla
Kun HTTP-välityspalvelin kuuntelee paikallista porttia 8080:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Korvaa kuunteluosoite omalla päätepisteelläsi. Jos tarvitset ehdokkaita, selaa HTTP-välityspalvelinten luetteloa ja testaa valittu kohde. Tyhjä ohituslista varmistaa, että tämä kutsu valitsee välityspalvelimen. Etsi aikajärjestyksessä välityspalvelinyhteys, CONNECT-vastaus, kohdevarmenteen tarkistus ja sivuston vastaus. Lokin tarkka sanamuoto riippuu curl-koosteesta.
Kohde voi palauttaa 404:n, 429:n tai 500:n sen jälkeen, kun välityspalvelin on hyväksynyt tunnelin. Se voi myös epäonnistua TLS-vaiheessa ennen yhtäkään HTTP-vastausta.
Mihin se pysähtyi?
| Havainto | Mitä tutkia seuraavaksi |
|---|---|
| Yhteys välityspalvelimeen torjutaan | Välityspalvelimen osoite, kuunteluportti, prosessi ja verkkoyhteys. |
| Välityspalvelin palauttaa 407:n | Välityspalvelintili ja todennusmenetelmä. |
| Välityspalvelin hylkää kohteen tai portin | Käyttöoikeuskäytäntö ja sallitut CONNECT-kohteet. |
| Tunneli avautuu, minkä jälkeen TLS-tarkistus epäonnistuu | Kohteen nimi, luottamusvarasto, kello ja mahdollinen hallinnoitu TLS-sieppaus. |
| TLS onnistuu ja sivusto palauttaa virheen | Sivuston vastaus. |
Pidä vertailussa toinen puoli samana: kokeile toista kohdetta saman välityspalvelimen kautta tai vertaa samaa kohdetta sallitulla suoralla reitillä.
Tunnelillakin on ylläpitäjä
Välityspalvelin tietää CONNECT-kohteen ja käsittelee liikenteen ajoitusta ja määrää. Tavallinen päästä päähän toimiva TLS suojaa sivuston sovellussisältöä välityspalvelimelta, joka ei päätä kyseistä TLS-istuntoa. Hallinnoidulla sieppaavalla välityspalvelimella, johon asiakas luottaa, on erilainen luottamusjärjestely.