Meine Frage ist ähnlich wie Nginx Relative URL to Absolute Rewrite Rule? - aber mit einem zusätzlichen Twist.Proxying relative URLs mit Nginx
Ich habe nginx als Proxy-Server fungiert, die für mehrere Anwendungen, ähnlich wie diese (vereinfacht) Config-Proxies:
server {
listen 80;
server_name example.com;
location /app1 {
proxy_pass http://app1.com;
}
location /app2 {
proxy_pass http://app2.com;
}
}
Dies funktioniert gut, aber wie in der anderen Frage, diese Anwendungen (app1
und app2
) verwenden Sie relative URLs wie /css/foo.css
oder /js/bar.js
. Auch ist es ein großes Problem, alle Anwendungen zu bitten, zu etwas wie /app1/css/foo.css
zu ändern.
Kann nginx intelligent herausfinden, welche Anwendung die Anfrage verarbeiten soll? FTR, Benutzer würden auf diese Anwendungen wie folgt zugreifen:
http://example.com/app1/fooaction
oder http://example.com/app2/baraction
.
Wenn es darauf ankommt, sind alle Anwendungen Java/Tomcat-basierte Anwendungen.
TIA!
können Sie ein wenig mehr klären, was Sie erreichen wollen? Möchten Sie die Anfrage "/css/foo.css" an app1 und "/js/bar.js" an app2 übergeben? – danielgpm
Ja. Wenn app1 /css/foo.css anfordert, sollte es an app1.com/css/foo.css weitergeleitet werden. Wenn app2 nach /js/bar.js fragt, sollte es an app2.com/js/bar.js weitergeleitet werden. – ragebiswas