![Proxy (ou outra solução) que pode permitir que navegadores antigos (antes da era HTTPS - sem ou com suporte fraco a SSL/TLS) se conectem a sites HTTPS?](https://rvso.com/image/1605177/Proxy%20(ou%20outra%20solu%C3%A7%C3%A3o)%20que%20pode%20permitir%20que%20navegadores%20antigos%20(antes%20da%20era%20HTTPS%20-%20sem%20ou%20com%20suporte%20fraco%20a%20SSL%2FTLS)%20se%20conectem%20a%20sites%20HTTPS%3F.png)
Existe um proxy (ou outra solução) que pode permitir que navegadores antigos (antes da era HTTPS - sem ou com suporte fraco a SSL/TLS) se conectem a sites HTTPS?
Em outras palavras:
navegador antigo <-- conexão http --> proxy do cliente (local) <-- conexão HTTPS --> qualquer página da internet
(o navegador envia uma solicitação de página http para o proxy local, envia uma solicitação HTTPS e, após receber a resposta/página HTTPS, o proxy a retorna ao navegador em http não criptografado)
Exemplos simples de configurações para tais proxies também são bem-vindos.
É oTLS_termination_proxy(https://serverfault.com/questions/943649/https-http-lightweight-proxy) o que procuro (ou é apenas para servidores)?
Comecei a verificar os proxies da lista TLS_termination_proxy (lista arquivada1,2) (Nginx, stunnel, Hiawatha, Caddy, Apache e Squid) para Windows. O Nginx parece ser capaz de fazer isso. stunnel é apenas para 64 bits (também existem compilações de 32 bits).
Responder1
Qualquer um dos projetos a seguir funcionaria no seu caso.
- OldSSL Proxy — servidor proxy SSL/TLS (HTTPS) para sistemas operacionais desatualizados como o Windows XP
- mitmproxy-oldssl — imagem Docker de mitmproxy com OpenSSL reconfigurado para ativar SSLv3; pode ser configurado para atuar como um proxy de downgrade SSL para máquinas antigas
- WebOne — proxy HTTP 1.x que torna navegadores antigos utilizáveis novamente no mundo Web 2.0.
Responder2
Use o Nginx como proxy reverso para todos os domínios 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;
}
}
Você provavelmente também desejará cuidar de URLs codificados para scripts/imagens (e outros) modificando páginas (Modifique as páginas HTML retornadas pelo proxy reverso nginx) ou adicionando um servidor adicional para solicitação SSL (se o navegador suportar o protocolo https).
Responder3
Nginx como um proxy de URL (na forma dehttp://localhost/proxy/?u=url_to_process), para navegadores sem suporte a proxy (testado emMosaico1,0 eVioloncelode 1993 no Windows [Cello não reconhece localhost, você deve usar 127.0.0.1]):
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;
}
}
Isso permite exibir uma única página passada no parâmetro u (exemplo:http://localhost/proxy/?u=http://www.aliweb.com). Em alguns casos, passar uma página http (teoricamente suportada pelo navegador) por proxy pode resultar em uma melhor análise dessa página pelo navegador. Em outros casos, pode causar falha no navegador. A modificação da página é necessária para navegar livremente em um site.