![¿Proxy (u otra solución) que puede permitir que los navegadores antiguos (antes de la era HTTPS, con soporte SSL/TLS débil o nulo) se conecten con sitios web HTTPS?](https://rvso.com/image/1605177/%C2%BFProxy%20(u%20otra%20soluci%C3%B3n)%20que%20puede%20permitir%20que%20los%20navegadores%20antiguos%20(antes%20de%20la%20era%20HTTPS%2C%20con%20soporte%20SSL%2FTLS%20d%C3%A9bil%20o%20nulo)%20se%20conecten%20con%20sitios%20web%20HTTPS%3F.png)
¿Existe un proxy (u otra solución) que pueda permitir que los navegadores antiguos (antes de la era HTTPS, con soporte SSL/TLS débil o nulo) se conecten con sitios web HTTPS?
En otras palabras:
navegador antiguo <-- conexión http --> proxy del cliente (local) <-- conexión HTTPS --> cualquier página web de Internet
(el navegador envía una solicitud de página http al proxy local, envía una solicitud HTTPS y, después de recibir la respuesta/página HTTPS, el proxy la devuelve al navegador en un http sin cifrar)
También se aceptan configuraciones de ejemplo simples para dichos servidores proxy.
Es elTLS_terminación_proxy(https://serverfault.com/questions/943649/https-http-lightweight-proxy) ¿Qué estoy buscando (o es solo para servidores)?
Comencé a verificar los servidores proxy de la lista TLS_termination_proxy (lista archivada1,2) (Nginx, stunnel, Hiawatha, Caddy, Apache y Squid) para Windows. Nginx parece poder hacer eso. stunnel es sólo para 64 bits (también hay versiones de 32 bits).
Respuesta1
Cualquiera de los siguientes proyectos funcionaría en su caso.
- OldSSL Proxy: servidor proxy SSL/TLS (HTTPS) para sistemas operativos obsoletos como Windows XP
- mitmproxy-oldssl: imagen de Docker de mitmproxy con OpenSSL reconfigurado para habilitar SSLv3; Se puede configurar para que actúe como un proxy de degradación de SSL para máquinas antiguas.
- WebOne: proxy HTTP 1.x que hace que los navegadores web antiguos vuelvan a ser utilizables en el mundo Web 2.0.
Respuesta2
Utilice Nginx como proxy inverso para todos los dominios solicitados.
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;
}
}
También es muy probable que quieras cuidar las URL codificadas para scripts/imágenes (y otros) modificando las páginas (Modificar las páginas HTML devueltas por el proxy inverso nginx), o agregando un servidor adicional para solicitudes SSL (si el navegador admite el protocolo https).
Respuesta3
Nginx como proxy de URL (en forma dehttp://localhost/proxy/?u=url_to_process), para navegadores sin soporte de proxy (probado enMosaico1.0 yViolonchelodesde 1993 en Windows [Cello no reconoce localhost, debes usar 127.0.0.1 en su lugar]):
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;
}
}
Esto permite mostrar una sola página pasada en el parámetro u (ejemplo:http://localhost/proxy/?u=http://www.aliweb.com). En algunos casos, pasar una página http (teóricamente compatible con el navegador) mediante proxy puede dar como resultado un mejor análisis de esa página por parte del navegador. En otros casos, puede provocar un fallo del navegador. Es necesario modificar la página para poder navegar libremente por un sitio.