‘200 Connection Established’ betekent dat de proxy een tunnel accepteert. De website heeft nog geen pagina teruggestuurd. Daarna volgt TLS met de bestemming en vervolgens het HTTPS-verzoek zelf.

Van proxyverbinding tot websiteantwoord

  1. De client maakt verbinding met het endpoint van de proxy.
  2. Hij vraagt de proxy verbinding te maken met een bestemmingshost en -poort.
  3. De proxy accepteert of weigert dat verzoek.
  4. Na acceptatie onderhandelt de client via de tunnel over TLS met de bestemming.
  5. De client verstuurt het HTTPS-verzoek en ontvangt het antwoord van de website binnen TLS.

Een geweigerde proxyverbinding, een afgewezen tunnel en een certificaatfout ontstaan op verschillende punten in deze volgorde. Zoek de laatste voltooide stap voordat je instellingen verandert.

De CONNECT-uitwisseling

In HTTP/1.1 ziet een vereenvoudigde uitwisseling er zo uit:

CONNECT example.com:443 HTTP/1.1
Host: example.com:443

HTTP/1.1 200 Connection Established

Het verzoekdoel is een host en poort, zonder het pad of de query van de website. Na een geslaagd CONNECT-antwoord vervoert de verbinding tunnelbytes. Voor een HTTPS-bestemming is de volgende uitwisseling van de client de TLS-handshake.

Lees de numerieke status in plaats van de Engelse redenzin exact te vergelijken. Proxy's kunnen verschillende tekst voor dezelfde status gebruiken.

Volgen met curl

Voor een HTTP-proxy op lokale poort 8080:

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/

Vervang het luisteradres door je endpoint; zoek je kandidaten, bekijk dan de lijst met HTTP-proxy's en test de gekozen vermelding. De lege uitzonderingslijst zorgt ervoor dat deze aanroep de proxy kiest. Zoek in chronologische volgorde naar de proxyverbinding, het CONNECT-antwoord, de controle van het bestemmingscertificaat en het websiteantwoord. De precieze logtekst hangt af van de curl-build.

De bestemming kan 404, 429 of 500 terugsturen nadat de proxy de tunnel heeft geaccepteerd. Het kan ook tijdens TLS misgaan, voordat er enig HTTP-antwoord is teruggestuurd.

Waar stopte het?

WaarnemingWat je vervolgens onderzoekt
De verbinding met de proxy wordt geweigerdProxyadres, luisterpoort, proces en netwerktoegang.
De proxy geeft 407 terugHet proxyaccount en de authenticatiemethode.
De proxy weigert een bestemming of poortToegangsbeleid en toegestane CONNECT-bestemmingen.
De tunnel opent, maar daarna mislukt de TLS-controleBestemmingsnaam, vertrouwensopslag, klok en eventuele beheerde TLS-onderschepping.
TLS slaagt en de website geeft een fout terugHet antwoord van de website.

Houd bij vergelijkingen één kant gelijk: probeer een andere bestemming via dezelfde proxy of vergelijk dezelfde bestemming via een toegestane directe route.

Ook de tunnel heeft een beheerder

De proxy kent de CONNECT-bestemming en verwerkt de timing en hoeveelheid van het verkeer. Gewone end-to-end-TLS beschermt de toepassingsinhoud van de website tegen een proxy die die TLS-sessie niet beëindigt. Een beheerde onderscheppingsproxy die de client vertrouwt, heeft een andere vertrouwensrelatie.

Gerelateerde artikelen