nginx proxy_pass 重定向所有内容

nginx proxy_pass 重定向所有内容

我们有一堆服务位于 nginx 反向代理服务器后面 在此处输入图片描述

foo.com/service1/index.html被重定向到service1/index.htmlfine。

但是当service1/index.html有类似 的脚本 src时/js/bar.js,浏览器会调用foo.com/js/bar.js。我希望它对所有 进行调用foo.com/service1/js/*。如何实现?

以下是 nginx conf 的片段

location /service1 {
   proxy_pass http://service1
}

location /js/(.*)$ {
   proxy_pass http://service1/js
}

service2/js有某些资源时,它会重定向foo.com/js并中断。如何解决?

答案1

您需要更改在代理后面运行的应用程序,以便它们生成以 开头的资源 URL foo.com/serviceN/js。应用程序的基本 URL 是一个可配置项。

相关内容