
Por algum motivo, estou encarregado de reescrever o URL de HTTPS para HTTP.
Histórico: estou usando o Nginx como proxy reverso e preciso ter o bloco de localização no bloco 443 enquanto o aplicativo apresenta erros de recursos mistos e não funciona em HTTPS (assim diz o desenvolvedor).
O que eu quero obter: quero que o bloco de localização Nginx esteja no bloco de 44 servidores, mas todo o tráfego seja feito por HTTP (80).
Alguém sabe como fazer isto? Eu estava pensando em reescrever o URL.
E sim, eu sei que faria mais sentido colocá-lo no bloco do servidor da porta 80 em comparação com 443. Os idosos têm ideias estranhas alguns dias.
Bloco de localização
location /solution_tools/ {
auth_basic "Please enter your credentials";
auth_basic_user_file solutions_utils.pass;
proxy_pass http://solution_tools/;
}
Responder1
"o aplicativo apresenta erros de recursos mistos e não funciona em HTTPS (assim diz o desenvolvedor)"
Em seguida, o desenvolvedor deve consertar o aplicativo porque hoje em dia qualquer aplicativo da web que não oferece suporte a HTTPS está completamente obsoleto.
Se o aplicativo não puder ser corrigido, em vez de redirecionar de volta para HTTP simples, faça o oposto, use o fato de que você já está executando um proxy reverso para obter o máximo benefício e reescreva o código HTML "defeituoso" que se refere a URLs absolutos em vez de simples http http://www.exameple.com/
para https httpS://www.exameple.com/
e corrija o problema de conteúdo misto dessa forma.
http://nginx.org/en/docs/http/ngx_http_sub_module.html:
location / {
sub_filter 'http://$host/' '"https://$host/';
sub_filter_once on;
}