我的問題類似於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