Abfangen backend 301/302-Weiterleitungen (proxy_pass) und umschreiben auf einen anderen Speicherort block möglich?
Wir haben ein paar backends sitzen hinter unseren nginx-frontends.
Ist es möglich, das abfangen von 301 - /302-Weiterleitungen gesendet, die durch diese backends und nginx mit Ihnen umgehen?
Waren wir thinging etwas, allein die Zeilen:
error_page 302 = @target;
Aber ich bezweifle, 301/302-Weiterleitungen können, werden genauso behandelt wie 404 etc etc... ich meine, error_page wohl nicht gelten, 200, etc Fehlercodes?
So zusammenfassen:
Unseres backends zurück schicken 301/302s einmal in eine Weile. Wir möchten nginx abfangen diese, und schreiben Sie Sie an einen anderen Ort blockieren, wo wir tun könnten, eine beliebige Anzahl von anderen Dinge mit Ihnen.
Möglich?
Dank!
InformationsquelleAutor anonymous-one | 2013-11-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie
proxy_redirect
Richtlinie:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect
Nginx wird noch zurück, 301/302, der client aber
proxy_redirect
ändernLocation
header und sollte der client eine neue Anfrage an die URL in derLocation
header.So etwas sollte auch die nachfolgende Anfrage wieder zu nginx:
InformationsquelleAutor
Mir ist es gelungen, bei der Lösung eines allgemeineren Fall, wenn eine Umleitung Speicherort kann eine externe URL.
Alternative Ansatz, die näher an dem, was Sie beschreiben, ist bedeckt in ServerFault Antwort auf diese Frage: https://serverfault.com/questions/641070/nginx-302-redirect-resolve-internally
InformationsquelleAutor
Wenn Sie brauchen, um mehrere Folgen leitet, ändern Sie Vlad, der die Lösung wie folgt:
1) Hinzufügen
zu
location /
.2) Fügen Sie
den
location @handle_redirects
Abschnitt.InformationsquelleAutor
Mehr auf
proxy_redirect
für relativen PositionenFall
/api/
PräfixLösung
InformationsquelleAutor