我试图运行一些服务器上的nodejs应用程序(Ubuntu 14.04),使用Nginx,我快完成了。 这是我的服务器configuration( /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; } }
我有几个应用程序运行,他们都运行良好,我可以访问http://my_domain.com/test2
等…
问题是,在这个应用程序中,我有几个绝对path:
例如<a href="/">Home</a>
或(内部快递)
res.redirect('/');
这个redirect不会去http://my_domain.com/test1
但他们去http://my_domain.com/
有没有办法,通过nginxconfiguration,告诉应用程序,根位置实际上是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
标题…
顺便说一句,我设法解决了这个问题,使用子域名,似乎工作正如我所料…无论如何,答案将不胜感激,因为我将来可能需要它。
Location
值。 例如curl -v http://127.0.0.1:5001/myappp
Location
标题