Nginx反向代理proxy_pass,静态资产和路径

Nginx反向代理proxy_pass,静态资产和路径

我已经在网上看到过这个问题好几次了,但我仍然没有找到真正解决它的方法适当地。问题如下:

我们有一个站点正在监听127.0.0.1:8080;因此我想使用另一个地址将其暴露给另一个网络,假设http://example.com/APPLICATION/. 系统运行正常,但頁面源码指向http://example.com而不是http://example.com/APPLICATION。这会产生许多 404 错误以及没有 css/script/image 的页面。

http://example.com/APPLICATION  ---> Calls http://127.0.0.1:8080

这没问题。现在假设我点击指向 的 URL /secondpage.html。我期望的是转到http://example.com/APPLICATION/secondpage.html而不是http://example.com/secondpage.html

现在这适用于脚本、css 表和图像。我已经知道 HttpSub(s)Module 可以重写 href 和 src 标签,但这意味着创建指向 / 的“catch-all”重写规则。

最后,这是我使用的代码块:

location /APPLICATION {
    proxy_set_header Host   $host;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:8080;
}

相关内容