Tengo un servidor configurado para alojar múltiples aplicaciones node.js + express en múltiples dominios a través de una interfaz de Ngnix. Todo funciona muy bien, a excepción de cuando las llamadas para redirigir están hechos de una ruta expresa:¿Por qué mi Nginx reverse-proxy node.js + express server redirige a 0.0.0.0?
res.redirect('/admin');
Luego se redirige el navegador del cliente a http://0.0.0.0:8090
Parece que debe haber un problema con los encabezados de redirección que sale de expresar, pero en caso de que sea relevante, aquí está el archivo nginx.conf para el dominio en cuestión:
server {
listen 0.0.0.0:80;
server_name *.example.com;
access_log /var/log/nginx_example_access.log;
error_log /var/log/nginx_example_error.log debug;
# proxy to node
location/{
proxy_pass http://0.0.0.0:8090/;
proxy_redirect off;
proxy_set_header Host $proxy_host;
proxy_max_temp_file_size 0;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
En las versiones más nuevas de Nginx, ahora debería usar '$ http_host' en lugar de' $ host'. –
@LouisChatriot ¡Gracias por la nota! Actualicé la respuesta para cubrir más versiones actuales. –