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

js realisiert den Lupeneffekt von Produkten auf Einkaufswebsites

In diesem Artikel wird der spezifische Code von j...

Grundlegende Verwendung des Befehls wget unter Linux

Inhaltsverzeichnis Vorwort 1. Laden Sie eine einz...

Vue implementiert ein Suchfeld mit einer Lupe

In diesem Artikel erfahren Sie, wie Sie mit Vue e...

Hinweise zur Verwendung der verknüpften Liste des Linux-Kernel-Gerätetreibers

/******************** * Anwendung von verknüpften...

Implementierung einer Fuzzy-Abfrage wie %% in MySQL

1, %, steht für beliebige 0 oder mehr Zeichen. Es...

So stellen Sie mit Navicat eine Remoteverbindung zur Cloud-Server-Datenbank her

Es ist sehr praktisch, eine Verbindung zu einer R...

JS-Dekorationsmuster und TypeScript-Dekoratoren

Inhaltsverzeichnis Einführung in das Decorator-Mu...

Neunundvierzig JavaScript-Tipps und Tricks

Inhaltsverzeichnis 1. Betrieb von js Integer 2. S...

Detaillierte Erklärung der CSS3-Textschatteneigenschaft Textschatten

Textschatten-Textschatten-Eigenschaftseffekte: 1....

Sprechen Sie über wichtige Unterverzeichnisprobleme im Linux-System

/etc/fstab Partitionen/Festplatten automatisch mo...

So stellen Sie Redis schnell als Docker-Container bereit

Inhaltsverzeichnis Erste Schritte Datenspeicherun...

Wie verfolgt Vue Datenänderungen?

Inhaltsverzeichnis Hintergrund Beispiel Missverst...