Verwenden Sie das für den Proxy-Listener dokumentierte URL-Schema. Wenn Sie Kandidaten aus der HTTP-Proxy-Liste auswählen, prüfen Sie das Schema des Listeners, bevor Sie den Client konfigurieren. Eine HTTPS-Website lässt sich über http://proxy.example:8080 aufrufen. Ändern Sie diesen Wert in https://, verlangen Sie eine andere Art der Verbindung zum Proxy.

Proxy-URLWebsite-URLVerbindung
http://proxy.example:8080http://example.com/Unverschlüsseltes HTTP zum Proxy und zum Ziel.
http://proxy.example:8080https://example.com/HTTP CONNECT zum Proxy, anschließend TLS zum Ziel durch den Tunnel.
https://proxy.example:8443https://example.com/TLS zum Proxy; der Tunnel zum Ziel wird innerhalb dieser Verbindung übertragen.

Für einen gewöhnlichen HTTP-Listener, der CONNECT erlaubt, passt diese Angabe:

curl --proxy http://127.0.0.1:8080 https://example.com/

Der TLS-Handshake mit der Website erfolgt erst, nachdem der Proxy den Tunnel akzeptiert hat. Ändern Sie die Proxy-URL in https://, obwohl der Listener nur unverschlüsseltes HTTP versteht, kann die TLS-Aushandlung mit dem Proxy scheitern, bevor die Website überhaupt kontaktiert wird.

Was TLS zum Proxy zusätzlich schützt

Ein TLS-fähiger Proxy schützt die Verbindung zwischen Client und Proxy einschließlich CONNECT-Austausch und Proxy-Authentifizierung vor passivem Mitlesen auf diesem Übertragungsweg. Der Proxy-Betreiber verarbeitet die Verbindung weiterhin und kennt das Tunnelziel. Sowohl Client als auch Listener müssen diesen Modus unterstützen:

curl --proxy https://proxy.example:8443 https://example.com/

Verwenden Sie den tatsächlichen Hostnamen des Dienstes. Das Zertifikat muss dazu passen und vertrauenswürdig sein. Einschränkungen für Ziele und Ports gelten weiterhin.

Bei HTTPS auf beiden Seiten finden zwei Zertifikatsprüfungen statt. curl erlaubt die getrennte Konfiguration:

curl --proxy https://proxy.example:8443 --proxy-cacert proxy-ca.pem --cacert origin-ca.pem https://example.com/

--proxy-cacert legt das Vertrauen für den Proxy fest, --cacert für das Ziel. Verwenden Sie bei Bedarf die vom Administrator bereitgestellten Zertifikatsdateien; möglicherweise genügt bereits der Vertrauensspeicher des Systems. Ermitteln Sie vor einer Änderung, welcher Handshake fehlgeschlagen ist.

Die Kennzeichnung „HTTPS“ in einer Proxy-Liste kann lediglich bedeuten, dass der Endpunkt einen CONNECT-Test bestanden hat. Solange die Liste ihren Test nicht erläutert, verrät die Bezeichnung allein nicht, ob der Listener http:// oder https:// erwartet.

Ähnliche Artikel