Lösung für Nginx, das nicht zur Upstream-Adresse springt

Lösung für Nginx, das nicht zur Upstream-Adresse springt

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.

http://tomcat/tomcat-web/account/index

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:
  • Detaillierte Erklärung der Lösung für NGINX zum Umstieg von https auf http
  • So leiten Sie eine URL mit Nginx Rewrite um
  • So leiten Sie HTTP 301 auf einen Domänennamen mit www im Nginx-Server um
  • So zwingen Sie Nginx zur Verwendung des https-Zugriffs (http springt zu https)
  • So konfigurieren Sie die Nginx-Seitenumleitung entsprechend verschiedener Browsersprachen
  • Detaillierte Erläuterung der Nginx-Lösung des Homepage-Sprungproblems
  • Detaillierte Erklärung der Nginx 301-Weiterleitung zum Domänennamen mit www
  • So leiten Sie über den Nginx-Lastausgleich zu https um
  • Verwenden des Map-Befehls von Nginx zum Umleiten von Seiten
  • Lösen Sie das Problem, dass bei der Bereitstellung von thinkPHP 5 mit nginx nur auf die Startseite umgeleitet wird
  • Beispielcode für die Verwendung von Nginx zur Implementierung einer 301-Weiterleitung zum https-Stammdomänennamen
  • Nginx verbietet den direkten Zugriff über IP und leitet auf eine benutzerdefinierte 500-Seite weiter
  • Detaillierte Erläuterung der Nginx-Rewrite-Jump-Anwendungsszenarien
  • Detaillierte Erklärung, wie man HSTS in nginx aktiviert, um den Browser zu zwingen, auf HTTPS-Zugriff umzuleiten
  • Implementierung des Umschreibesprungs in Nginx
  • Detaillierte Erläuterung der Standortübereinstimmung und der Umleitung in Nginx
  • Versteckte Nginx-Weiterleitung (Browser-URL bleibt nach der Weiterleitung unverändert)

<<:  Implementierung der Funktion der kreisförmigen prozentualen Fortschrittsbalkenkomponente von Vue

>>:  Analyse langsamer Einfügefälle aufgrund großer Transaktionen in MySQL

Artikel empfehlen

Vollständiges HTML des Upload-Formulars mit Bildvorschau

Das Upload-Formular mit Bildvorschaufunktion, der...

Verwenden des JS-Timers zum Verschieben von Elementen

Verwenden Sie einen JS-Timer, um ein Element zu e...

Abrufen der Erstellungszeit einer Datei unter Linux und ein praktisches Tutorial

Hintergrund Manchmal müssen wir den Erstellungsze...

Vue implementiert ein Beispiel für eine verschachtelte Routing-Methode

1. Verschachteltes Routing wird auch als Sub-Rout...

WeChat-Applet implementiert Puzzlespiel

In diesem Artikel finden Sie den spezifischen Cod...

Detaillierte Erklärung der Abkürzung von State in React

Vorwort Was ist Staat Wir alle sagen, dass React ...