Nginx-Reverse-Proxy proxy_pass, statische Assets und Pfade


2

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.htmlund 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;
}

Um meine Anfrage zu klären, suche ich nach etwas in den Zeilen von mod_proxy_html , das funktioniert, ohne tatsächlich Regeln zu schreiben.
Kei
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.