使用 / 以外的位置时如何使用 nginx proxy_pass?

How to use nginx proxy_pass when using a location other than /?

提问人:Pranay 提问时间:8/25/2023 更新时间:8/25/2023 访问量:34

问:

所以这是我正在使用的配置。

location /dashboard/{
        proxy_pass http//localhost:5000/;
        proxy_set_header Host $host;
 
}

localhost/dashboard/ 加载我的 webapp,相当于 localhost:5000/

例如,当我单击“主页”链接时。我希望它转到 localhost/dashboard/Home,但它重定向到 localhost/Home。 这与 /dashboard/ 位置块不匹配,而是被位置/块捕获。 Nginx 开始在其根文件夹中搜索 Home 文件,当然该文件不存在。

如果我在浏览器中手动输入 localhost/dashboard/Home,一切正常。

location /Home/Module/{
       proxy_pass http://localhost:5000/Home/Module;
       proxy_set_header Host $host;

}

这个块也很好用。但我不想这样做。

在后端定义仪表板也可能有效,但我想知道是否可以在不修改后端的情况下以某种方式配置它。

nginx devops 反向代理 proxypass

评论

1赞 Geilmaker 8/25/2023
您使用的是哪种网络应用程序?这不是 nginx 的错,您需要使用运行它的 basePath 调整您的 Web 应用程序,以便它知道使用正确的子目录生成链接。

答: 暂无答案