![Proxy (oder andere Lösung), der es alten Browsern (vor der HTTPS-Ära – ohne oder mit schwacher SSL/TLS-Unterstützung) ermöglicht, eine Verbindung mit HTTPS-Websites herzustellen?](https://rvso.com/image/1605177/Proxy%20(oder%20andere%20L%C3%B6sung)%2C%20der%20es%20alten%20Browsern%20(vor%20der%20HTTPS-%C3%84ra%20%E2%80%93%20ohne%20oder%20mit%20schwacher%20SSL%2FTLS-Unterst%C3%BCtzung)%20erm%C3%B6glicht%2C%20eine%20Verbindung%20mit%20HTTPS-Websites%20herzustellen%3F.png)
Gibt es einen Proxy (oder eine andere Lösung), der es alten Browsern (vor der HTTPS-Ära – ohne oder mit schwacher SSL/TLS-Unterstützung) ermöglicht, eine Verbindung mit HTTPS-Websites herzustellen?
Mit anderen Worten:
alter Browser <-- http-Verbindung --> Client (lokaler) Proxy <-- HTTPS-Verbindung --> beliebige Internet-Webseite
(der Browser sendet eine HTTP-Seitenanforderung an den lokalen Proxy, dieser sendet eine HTTPS-Anforderung und nach Erhalt der HTTPS-Antwort/Seite gibt der Proxy diese in unverschlüsseltem HTTP an den Browser zurück)
Einfache Beispielkonfigurationen für solche Proxys sind ebenfalls willkommen.
Ist derTLS_Terminierungsproxy(https://serverfault.com/questions/943649/https-http-lightweight-proxy) was ich suche (oder ist es nur für Server)?
Ich habe begonnen, die Proxys aus der TLS_termination_proxy-Liste zu überprüfen (archivierte Liste1,2) (Nginx, stunnel, Hiawatha, Caddy, Apache und Squid) für Windows. Nginx scheint dazu in der Lage zu sein. stunnel ist nur für 64-Bit (es gibt auch 32-Bit-Builds).
Antwort1
Jedes der folgenden Projekte würde in Ihrem Fall funktionieren.
- OldSSL Proxy – SSL/TLS (HTTPS)-Proxyserver für veraltete Betriebssysteme wie Windows XP
- mitmproxy-oldssl – Docker-Image von mitmproxy mit neu konfiguriertem OpenSSL zur Aktivierung von SSLv3; kann so konfiguriert werden, dass es als SSL-Downgrade-Proxy für alte Maschinen fungiert.
- WebOne – HTTP 1.x-Proxy, der alte Webbrowser in der Web 2.0-Welt wieder nutzbar macht.
Antwort2
Verwenden Sie Nginx als Reverse-Proxy für alle angeforderten Domänen.
server {
# default_server not needed if its first server in config
listen 80 default_server;
location / {
# x.x.x.x - IP address of DNS server
resolver x.x.x.x;
# port may be omitted
proxy_pass https://$host:443;
}
}
Sie möchten höchstwahrscheinlich auch hartcodierte URLs für Skripte/Bilder (und andere) verwalten, indem Sie Seiten ändern (Vom Nginx Reverse Proxy zurückgegebene HTML-Seiten ändern) oder durch Hinzufügen eines zusätzlichen Servers für SSL-Anfragen (wenn der Browser das https-Protokoll unterstützt).
Antwort3
Nginx als URL-Proxy (in Form vonhttp://localhost/proxy/?u=zu_verarbeitende_URL), für Browser ohne Proxy-Unterstützung (getestet inMosaik1.0 undCelloab 1993 unter Windows [Cello erkennt localhost nicht, Sie müssen stattdessen 127.0.0.1 verwenden]):
server {
listen 80;
# dns server
resolver x.x.x.x;
location /proxy {
#is ending slash missing? (avoid redirection)
#**TODO**: handle file url
if ($arg_u !~ /$) {
set $slash "/";
}
proxy_pass $arg_u$slash;
#handle eventual redirection to https
set $url_proxy http://localhost/proxy/?u=;
proxy_redirect ~^(https://.+) $url_proxy$1;
}
}
Dies ermöglicht die Anzeige einer einzelnen Seite, die im Parameter u übergeben wird (Beispiel:http://localhost/proxy/?u=http://www.aliweb.com). In einigen Fällen kann die Weiterleitung einer HTTP-Seite (theoretisch vom Browser unterstützt) über einen Proxy zu einer besseren Analyse dieser Seite durch den Browser führen. In anderen Fällen kann dies zu einem Browserabsturz führen. Um eine Site frei durchsuchen zu können, sind Seitenänderungen erforderlich.