Tengo un sitio web node+express ejecutándose en mi servidor ubuntu en el puerto 10000 con nginx en el puerto 80 usando un proxy_pass para localhost:10000. Mi problema es que cuando solicito el host en Express, devuelve localhost en lugar de mi nombre de dominio. Uso el proxy nginx para poder administrar varios dominios en la máquina que apuntan a diferentes aplicaciones.
¿Hay alguna manera de mantener el nombre de host original en mi servidor node+express mientras sigo usando proxy_pass en nginx?
De forma predeterminada, nginx establece el encabezado Host en la solicitud ascendente en el nombre de host que aparece en la declaración proxy_pass . En este caso localhost .
Debe configurar el encabezado del host explícitamente mediante la directiva proxy_set_header .
Por ejemplo, siempre configuro este grupo:
proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Accept-Encoding ""; proxy_set_header Proxy "";Consulte este documento para obtener más información.