
Por alguna razón, tengo la tarea de reescribir la URL de HTTPS a HTTP.
Antecedentes: estoy usando Nginx como proxy inverso y necesito tener el bloque de ubicación en el bloque 443 mientras la aplicación genera errores de recursos mixtos y no funciona en HTTPS (eso dice el desarrollador).
Lo que quiero obtener: quiero que el bloque de ubicación de Nginx esté en el bloque de 44 servidores pero que todo el tráfico se realice a través de HTTP (80).
Alguien sabe cómo hacer esto? Estaba pensando en reescribir la URL.
Y sí, sé que tendría más sentido ponerlo en el bloque del servidor del puerto 80 en comparación con el 443. Las personas mayores tienen ideas raras algunos días.
bloque de ubicación
location /solution_tools/ {
auth_basic "Please enter your credentials";
auth_basic_user_file solutions_utils.pass;
proxy_pass http://solution_tools/;
}
Respuesta1
"la aplicación genera errores de recursos mixtos y no funciona en HTTPS (eso dice el desarrollador)"
Entonces, el desarrollador debería arreglar la aplicación porque hoy en día cualquier aplicación web que no admita HTTPS está completamente obsoleta.
Si la aplicación no se puede arreglar, en lugar de redirigir nuevamente a HTTP simple, haga lo contrario, use el hecho de que ya está ejecutando un proxy inverso para obtener el máximo beneficio y reescriba el código html "defectuoso" que se refiere a URL absolutas en lugar de simples. http http://www.exameple.com/
a https httpS://www.exameple.com/
y solucione el problema del contenido mixto de esa manera.
http://nginx.org/en/docs/http/ngx_http_sub_module.html:
location / {
sub_filter 'http://$host/' '"https://$host/';
sub_filter_once on;
}