URL de reescrita do Nginx porque https não funciona

URL de reescrita do Nginx porque https não funciona

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;
}

informação relacionada