Bearbeiten Sie einen Header-Wert in nginx

Hintergrun
So läuft auf einem Server eine Tomcat-Anwendung, die sich hinter einem Apache-Proxy versteckt. Der Proxy bietet eine benutzerfreundlichere URL sowie eine SSL-Verschlüsselung mit automatischen Weiterleitungen, sodass die App nur über https zugänglich ist.

Ich bin damit beschäftigt, dies auf einen Nginx-Proxy zu migrieren.

Eines der Probleme, die ich hatte, ist, dass meine App beim Anmelden einen "LocationAfterLogon" -Header in der http-Antwort in Form von @ zurücksende

http://192.168.x.x:8080/myapp/index.jsp. 

Diese zurückgegebene IP-Adresse stammt vom Proxy-Server und ist im Internet nicht sichtbar. Der Browser bekommt also einen Verbindungsfehler, wenn er versucht, dorthin zu navigieren.

ls Workaround habe ich Nginx-Direktiven verwendet:

proxy_hide_header: um den LocationAfterLogin-Header auszublenden, der vom Proxy-Server zurückkommtadd_header: Zum Hinzufügen einer neuen LocationAfterLogin-URL.

So sieht meine Konfiguration wie folgt aus

            #header for location after logon of demo app
            add_header LocationAfterLogon http://example.com/demo/index.jsp;
            #hide the real LocationAfterLogon
            proxy_hide_header LocationAfterLogon;

Das Proble
Ich muss in der Lage sein, in LocationAfterLogon einen regulären Ausdruck oder ähnliches zu ersetzen, da dies nicht immer zu index.jsp führt, je nachdem, welche URL von der Anmeldeseite abgefangen wurde.

Mir ist bewusst, dass ich die Tomcat-App auch umschreiben kann, um stattdessen eine relative URL zurückzusenden, aber ich möchte alles in nginx config tun.

Ich habe auch über Nginx more_set_headers gelesen. Habe es noch nicht ausprobiert. Darf ich die Überschriften bearbeiten?

Apache hat dasHeader edit Direktive, die ich vorher benutzt habe, also suche ich so etwas.

TL; DR
Ist es möglich, einen Header-Speicherort mit Regex Replace oder ähnlichem in Nginx zu bearbeiten?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage