Ich habe dieses Problem einige Male im Internet gesehen, aber ich habe noch keinen richtigen Weg gefunden, um es richtig zu lösen . Das Problem ist folgendes:
Wir haben eine Website, die 127.0.0.1:8080 abhört . Also möchte ich es mit einer anderen Adresse einem anderen Netzwerk zur Verfügung stellen, nehmen wir an, http://example.com/APPLICATION/ . Das System funktioniert, aber alle hrefs und src verweisen auf http://example.com und nicht auf http://example.com/APPLICATION . Das schafft viele 404 und eine CSS / Script / Image-freie Seite.
http://example.com/APPLICATION ---> Calls http://127.0.0.1:8080
Und das ist gut so. Nehmen wir nun an, ich klicke auf eine URL, die darauf verweist /secondpage.html
. Ich würde erwarten zu gehen http://example.com/APPLICATION/secondpage.html
und nicht zu gehen http://example.com/secondpage.html
.
Das gilt nun für Skripte, CSS-Blätter und Bilder. Mir ist bereits bekannt, dass das HttpSub (s) -Modul href- und src-Tags umschreiben kann, aber das bedeutet, dass "catch-all" -Umschreibregeln erstellt werden, die auf / verweisen.
Schließlich ist hier der Codeblock, den ich benutze:
location /APPLICATION {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080;
}