„200 Connection Established“ bedeutet, dass der Proxy einen Tunnel akzeptiert. Die Website hat noch keine Seite zurückgegeben. Als Nächstes folgt TLS mit dem Ziel, danach die eigentliche HTTPS-Anfrage.

Von der Proxyverbindung zur Websiteantwort

  1. Der Client verbindet sich mit dem Proxy-Endpunkt.
  2. Er bittet den Proxy, eine Verbindung zu einem Zielhost und Port herzustellen.
  3. Der Proxy akzeptiert oder verweigert diese Anfrage.
  4. Nach der Annahme handelt der Client durch den Tunnel TLS mit dem Ziel aus.
  5. Der Client sendet die HTTPS-Anfrage und empfängt die Antwort der Website innerhalb von TLS.

Eine verweigerte Proxyverbindung, ein abgelehnter Tunnel und ein Zertifikatsfehler treten an unterschiedlichen Stellen dieser Abfolge auf. Finden Sie den letzten abgeschlossenen Schritt, bevor Sie Einstellungen ändern.

Der CONNECT-Austausch

In HTTP/1.1 sieht ein vereinfachter Austausch so aus:

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

HTTP/1.1 200 Connection Established

Das Anfrageziel besteht aus Host und Port, ohne Pfad oder Abfrageparameter der Website. Nach einer erfolgreichen CONNECT-Antwort transportiert die Verbindung Tunnelbytes. Bei einem HTTPS-Ziel ist der nächste Austausch des Clients der TLS-Handshake.

Lesen Sie den numerischen Status, statt die englische Begründung als Zeichenfolge abzugleichen. Proxys können für denselben Status unterschiedliche Texte verwenden.

Mit curl beobachten

Für einen HTTP-Proxy auf dem lokalen Port 8080:

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

Ersetzen Sie die Listener-Adresse durch Ihren Endpunkt. Falls Sie Kandidaten benötigen, sehen Sie in der HTTP-Proxy-Liste nach und testen Sie den gewählten Eintrag. Die leere Ausnahmeliste sorgt dafür, dass dieser Aufruf den Proxy auswählt. Suchen Sie in zeitlicher Reihenfolge nach Proxyverbindung, CONNECT-Antwort, Prüfung des Zielzertifikats und Websiteantwort. Der genaue Wortlaut des Protokolls hängt vom curl-Build ab.

Das Ziel kann 404, 429 oder 500 zurückgeben, nachdem der Proxy den Tunnel akzeptiert hat. Der Vorgang kann auch bereits während TLS scheitern, bevor irgendeine HTTP-Antwort zurückkommt.

Wo blieb der Ablauf stehen?

BeobachtungAls Nächstes untersuchen
Die Verbindung zum Proxy wird verweigertProxyadresse, Listener-Port, Prozess und Netzwerkzugriff.
Der Proxy gibt 407 zurückProxykonto und Authentifizierungsverfahren.
Der Proxy lehnt ein Ziel oder einen Port abZugriffsrichtlinie und erlaubte CONNECT-Ziele.
Der Tunnel öffnet sich, danach scheitert die TLS-PrüfungZielname, Vertrauensspeicher, Uhrzeit und gegebenenfalls verwaltetes TLS-Abfangen.
TLS gelingt und die Website meldet einen FehlerDie Antwort der Website.

Halten Sie beim Vergleichen eine Seite konstant: Testen Sie ein anderes Ziel über denselben Proxy oder vergleichen Sie dasselbe Ziel über eine erlaubte direkte Route.

Auch der Tunnel hat einen Betreiber

Der Proxy kennt das CONNECT-Ziel und verarbeitet zeitlichen Verlauf und Umfang des Datenverkehrs. Übliches Ende-zu-Ende-TLS schützt die Anwendungsinhalte der Website vor einem Proxy, der diese TLS-Sitzung nicht terminiert. Für einen verwalteten Abfangproxy, dem der Client vertraut, gilt ein anderes Vertrauensverhältnis.

Ähnliche Artikel