Nginx proxy_pass 和绝对路径

Nginx proxy_pass and absolute paths

我正在尝试 运行 服务器上的一些 nodejs 应用程序 (Ubuntu 14.04),使用 Nginx,我快完成了。这是我的服务器配置 (/etc/nginx/sites-available/default):

server {
    listen 80;
    server_name my_domain.com;

    location /test1 {
        proxy_pass http://127.0.0.1:5000/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

    location /test2 {
        proxy_pass http://127.0.0.1:5001/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

我有几个应用程序 运行ning,它们都运行良好,我可以通过 http://my_domain.com/test1http://my_domain.com/test2 等访问它们...

问题是在其中一个应用程序中我有几个绝对路径:
例如<a href="/">Home</a>
或(内部快递)
res.redirect('/');

此重定向不会转到 http://my_domain.com/test1,但会转到 http://my_domain.com/
有没有办法通过 nginx 配置告诉应用程序根位置实际上是 http://my_domain.com/test1

我对 nginx 和一般的虚拟主机真的很陌生,我正在努力学习...任何帮助将不胜感激。

编辑:
curl -I http://127.0.0.1:5000 的结果是:

HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 1376
ETag: W/"560-GGm/YYltkhKxiOVNZ99jqQ"
set-cookie: connect.sid=s%3AkZYCqLKvbhHhK3W8ECBN8G91s41paws4.ekLWefrd3NdQatT3VzFNozfnFs65YBEW9k9MNTdbQT0; Path=/; HttpOnly
Date: Sat, 15 Aug 2015 13:13:20 GMT
Connection: keep-alive  

如你所见,我没有收到 Location Header...
顺便说一下,我设法使用子域解决了这个问题,它似乎按我的预期工作......无论如何,我将不胜感激,因为我将来可能需要它。

  1. 使用 curl 检查客户端用于重定向的 header Location 值。例如curl -v http://127.0.0.1:5001/myappp
  2. 使用proxy_redirect改变Locationheader