
ich möchte, dass nginx alle Anfragen für /images
, /css
, /whatever
auf http://frontend/site/images
oder umleitet (umschreibt?) http://frontend/site/css
, da http://frontend/site
korrekt auf backend:port
der Site zugeordnet ist, aber natürlich sucht es immer nach /whatever
anstelle vonhttp://frontend/site/whatever
Gibt es eine Möglichkeit, einem Nginx-Reverse-Proxy mitzuteilen, dass er die URL dynamisch anpassen soll? ohne Hunderte von /location
Anweisungen zu erstellen?
Danke
Antwort1
Wenn site
statisch:
rewrite ^(.*)$ /site/$1 break;
Es site
soll der Hostname/die Domäne sein:
rewrite ^(.*)$ /$host$1 break;
rewrite
kann auch im server
Block verwendet werden:ngx_http_rewrite_module
Bearbeiten:
Nach Ihrem Kommentar lautet die Antwort einfach umgekehrt:
location /nasweb/ {
rewrite ^/nasweb(/.*)$ $1 break;
proxy_pass http://your-internal-nas;
}
Dadurch sollte es Ihnen möglich sein, https://your-external-domain.com/nasweb/
Ihre Anfrage zum Weiterleiten an zu öffnen http://your-internal-nas/
.
Bearbeiten:
Um falsche Weiterleitungen zu verhindern, verwenden Sie Folgendes:
proxy_redirect / /nasweb/;