nginx proxy pass redirects ignore port
- by Paul
So I'm setting up a virtual path when pointing at a node.js app in my nginx conf. the relevant section looks like so:
location /app {
rewrite /app/(.*) /$1 break;
proxy_pass http://localhost:3000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Works great, except that when my node.js app (an express app) calls a redirect.
As an example, the dev box is running nginx on port 8080, and so the url's to the root of the node app looks like:
http://localhost:8080/app
When I call a redirect to '/app' from node, the actual redirect goes to:
http://localhost/app