WRONG_VERSION_NUMBER mit einem Proxy: HTTP gegen HTTPS prüfen
Diagnostizieren Sie eine Transportabweichung am Proxy, bevor Sie wegen einer irreführenden SSL-Fehlermeldung TLS-Versionen herabstufen oder Zertifikatseinstellungen ändern.
Der Fehler sagt “falsche Version”, daher liegt es nahe, TLS-Versionen durchzuprobieren. Bei einem Proxy prüfen Sie zuerst eine frühere Möglichkeit: Hat der Client einen TLS-Handshake an einen Port geschickt, der auf einfaches HTTP wartete?
Ein Ziel wie https://example.com/ und ein Proxy wie http://proxy.example:8080 sind ein gewöhnliches Paar. Die zweite URL auf HTTPS umzustellen sagt dem Client, sein Gespräch mit dem Proxy selbst zu verschlüsseln. Es ist keine Anweisung, HTTPS-Websites zu erlauben.
Das erste TLS-Gespräch lokalisieren
Bei einem HTTP-Proxy kann der Client zuerst CONNECT senden und eine HTTP-Antwort erhalten. Erst danach beginnt er das TLS zum Ziel innerhalb des Tunnels. Bei einem HTTPS-Proxy kommt zuerst eine eigene TLS-Verbindung zum Proxy.
Ein TLS-Parser, der eine HTTP-Fehlerseite oder anderen Klartext erhält, kann einen Protokollfehler melden. Die Formulierung belegt nicht, welche TLS-Versionen die Website unterstützt, nicht einmal, ob die Website überhaupt kontaktiert wurde.
- Notieren Sie die Proxy-URL samt Schema und das dokumentierte Protokoll des Endpunkts.
- Finden Sie heraus, ob der Fehler vor einer CONNECT-Antwort, während des TLS zum Ziel oder bei der Prüfung des Proxy-eigenen Zertifikats auftrat.
- Prüfen Sie die tatsächlichen Versionen von Client und Abhängigkeiten, wenn Sie eine alte Umgehung vergleichen. Frühere Proxy-Implementierungen behandelten ein Schema manchmal anders.
Mehrere Korrekturen können aus unterschiedlichen Gründen falsch sein. Die HTTP-Proxy-Liste bietet gewöhnliche HTTP-Endpunkt-Kandidaten für öffentliche Anfragen, die über einen solchen Weg erlaubt sind. Ein reiner HTTP-Endpunkt braucht das HTTP-Proxy-Schema; ein wirklich TLS-fähiger Endpunkt sollte HTTPS und seine Zertifikatsprüfung behalten. Ein Proxy, der CONNECT ablehnt, braucht einen unterstützten Dienst oder eine Richtlinie, kein willkürliches Herabstufen der Bibliothek.
Halten Sie den ersten beobachtbaren Fehler fest. Das Abschalten der Zertifikatsprüfung kann einen reinen HTTP-Listener nicht dazu bringen, TLS zu sprechen, und die Wahl einer alten Cipher-Richtlinie kann eine HTTP-Ablehnung nicht erklären, die vor dem Handshake der Website gesendet wurde.