Vorwort Heute bin ich in Nginx auf ein sehr seltsames Problem gestoßen. Als der Front-End-Tomcat auf die Seite sprang, sprang er zur Upstream-Adresse und meldete direkt 404, aber einige Seitenzugriffe waren normal. Wenn der Zugriff über die Intranet-IP direkt normal ist, kann festgestellt werden, dass es sich um ein Problem mit nginx handelt. Die nginx-Konfiguration ist wie folgt Upstream-Tomcat { Server 192.168.11.172:8061; Server 192.168.11.172:8062; ip_hash; } Server { hören Sie 8060; Servername www.example.com; Standort / { Proxy-Passwort http://Tomcat; Proxy_set_header Host $host:8060; Proxy_Set_Header X-Real-IP $Remote_Addr; proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; Index Index.html Index.htm; } } Nach einer Untersuchung wurde festgestellt, dass diese Adresse im Backend-Java-Code umgeleitet wurde und request.getServerPort () verwendet wurde. Wenn die Umleitung über nginx erfolgte, konnte der richtige Front-End-Port nicht abgerufen werden und die Standardrückgabe war immer noch 80. Wenn der Standard-Abhörport von nginx nicht 80 ist, kann response.sendRedirect nicht zur richtigen Adresse springen. response.sendRedirect(getBasePath(Anfrage) + "Konto/Index"); privater String getBasePath(HttpServletRequest-Anfrage) { Zeichenfolgenpfad = request.getContextPath(); Zeichenfolge basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + Pfad + "/"; Basispfad zurückgeben; } Die Lösung besteht darin, die Portnummer zur Nginx-Konfigurationsdatei proxy_set_header hinzuzufügen Proxy_Set_Header Host $host:$Proxy_Port; Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Implementierung der Funktion der kreisförmigen prozentualen Fortschrittsbalkenkomponente von Vue
>>: Analyse langsamer Einfügefälle aufgrund großer Transaktionen in MySQL
Inhaltsverzeichnis Einführung und Demo API: Conta...
Während des Entwicklungsprozesses stoße ich häufi...
Hyperlinks sind die am häufigsten verwendeten HTM...
Allerdings ist die Häufigkeit des Shell-Starts se...
1. Laden Sie den MySQL-JDBC-Treiber (mysql-connec...
Das im Projekt aufgetretene Layoutproblem unregel...
Vorwort: In MySQL wird die Funktion CONCAT() verw...
Verwenden Sie Javascript, um ein Dropdown-Menü zu...
1. Nginx-Dienstgrundlage Nginx (Engine x) wurde s...
Problembeschreibung: Struktur: test hat zwei Feld...
[Wer ist nslookup?] 】 Der Befehl nslookup ist ein...
mysql hat versehentlich Daten gelöscht Verwenden ...
1 Was ist der BEM-Namensstandard Bem ist die Abkü...
1. Einführung in verteilte Speichersysteme Die ko...
Hier nehmen wir den Jenkins-Container als Beispie...