我的问题类似于Nginx Relative URL to Absolute Rewrite Rule? - 但有一个额外的转折。用nginx代理相关网址
我作为代理服务器,代理了多个应用,类似于这样(简化)配置nginx的:
server {
listen 80;
server_name example.com;
location /app1 {
proxy_pass http://app1.com;
}
location /app2 {
proxy_pass http://app2.com;
}
}
这工作得很好,但在其他问题,这些应用程序(app1
和app2
)使用相关网址,例如/css/foo.css
或/js/bar.js
。此外,要求所有应用程序更改为类似/app1/css/foo.css
的东西也是一个大问题。
nginx是否可以智能地找出哪个应用程序应该处理请求? FTR,用户可以像这样访问这些应用程序:
http://example.com/app1/fooaction
或http://example.com/app2/baraction
。
如果很重要,所有应用程序都是基于Java/Tomcat的应用程序。
TIA!
你能否澄清一点点,你要实现的目标是什么?你想要传递请求“/css/foo.css”到app1和“/js/bar.js”到app2吗? – danielgpm 2014-12-04 00:17:26
是的。如果app1请求/css/foo.css,则应将其代理到app1.com/css/foo.css。如果app2请求/js/bar.js,则应将其代理到app2.com/js/bar.js。 – ragebiswas 2014-12-04 06:18:58