server {
listen 80;
server_name example.com www.example.com;
Standort /Konsole {
if ($request_method !~ ^(GET|POST)$) {
return 405 "Not allowed";
}
set $consolalb alb.backend;
proxy_pass http://$consolalb/workspace/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Custom-Forwarded-Proto $http_x_forwarded_proto;
proxy_cache_bypass $http_upgrade;
}
}
Ich habe das Szenario, in dem die Benutzeranforderung unseren Ngnix-Container-Reverse-Proxy erreicht.www.example.com/consolund es muss an das Backend-Alb weitergeleitet werden (z. B. alb.backend), und das ALB wird mit dem Kontextpfad /workspace dem Oracle Hyperion-Anwendungsserver zugeordnet.
mit der obigen Konfiguration kann ich die erste Anmeldeseite /workspace/index.jsp laden, gleichzeitig erhalte ich zusätzliche Popups mit unterschiedlichen Kontextpfaden, die eine Fehlermeldung wie „Seite nicht gefunden“ anzeigen. Diese URLs für „Seite nicht gefunden“ sehen so aus:www.example.com/interop,www.example.com/meineseite.jspusw. Alle Popups zeigen die Fehlermeldung „Seite nicht gefunden“ an.
Ich brauche einen Vorschlag, wie ich weiterleiten kannwww.example.com/consoleingehende Benutzeranforderung an http://$consolalb/workspace/; für die erste und nachfolgende Pop-Anforderung an http://$consolalb/*
Antwort1
Ihre Anwendung generiert die URLs in der von ihr erstellten Ausgabe. Daher müssen Sie Ihre Anwendung so konfigurieren, dass sie eine korrekte Basis-URL verwendet, damit die von ihr generierten URLs korrekt sind.