
Wenn ich versuche, auf example.com ohne den „Pfad“ (example.com/path) zuzugreifen, muss Nginx den Pfad zur URL hinzufügen. Wenn er bereits vorhanden ist, kann ich die Umschreibung ignorieren. Jede Hilfe ist willkommen.
Ich habe versucht, zurückzukehren
return 301 $scheme://example.com/path$request_uri; und es wird einfach umgeleitet, bis das Limit von 10 erreicht ist
Ich habe auch versucht, es neu zu schreiben, aber offensichtlich gelingt mir das auch nicht.
die Topologie ist [Proxy] -> [Webserver]. Ich habe versucht, die Umleitung auf beiden durchzuführen, bin mir nicht sicher, ob ich die Transformation auf dem Proxy oder dem Webserver durchführen soll.
Antwort1
Wenn Sie Ihre Anfragen an die Backend-App weiterleiten möchten, können Sie Folgendes verwenden:
location / {
proxy_pass http://upstream/path/;
}
location /path/ {
proxy_pass http://upstream;
}
Eine Umschreiberegel ist auch möglich, indemnegativer VorausblickRegex, allerdings wird die Leistung etwas geringer sein als im ersten Beispiel:
rewrite ^((?!/path/).*) /path$1 ...