gpt4 book ai didi

node.js - Nginx proxy_pass 和绝对路径

转载 作者:太空宇宙 更新时间:2023-11-03 21:59:11 26 4
gpt4 key购买 nike

我正在尝试使用 Nginx 在服务器(Ubuntu 14.04)上运行一些 Nodejs 应用程序,我快完成了。这是我的服务器配置( /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/test1 访问它们, http://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标题...
顺便说一句,我设法使用子域解决了问题,这似乎按我的预期工作...无论如何,我们将不胜感激,因为我将来可能需要它。

最佳答案

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

关于node.js - Nginx proxy_pass 和绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32018753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com