Lösung für das Problem des Sitzungsverlusts bei Nginx

Lösung für das Problem des Sitzungsverlusts bei Nginx

Bei der Verwendung von Nginx als Reverse-Proxy für Tomcat kann es zu Sitzungsverlusten kommen. Bei jeder gesendeten Anforderung ändert sich die JESSIONID, was darauf hinweist, dass die letzte Sitzung verloren geht und eine neue Sitzung erstellt wird.

Erster Fall:

 Server{
    hören Sie 80;
    Servername www.jiahemdata.com www.jiahemdata.cn;
    Zeichensatz UTF-8;
    Standort /{
      Proxy_Redirect aus;
      Proxy-Passwort http://127.0.0.1:8093;
      Proxy_Set_Header Host $host;
      proxy_set_header Referrer $http_referer;
      Proxy_Set_Header X-Real-Ip $Remote_Addr;
      proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
    }
    access_log-Protokolle/tomcat_access.log;
  }

Da das aktuelle Nginx nur auf einem Port lauscht und den Pfad nicht festlegt, tritt das Problem des Sitzungsverlusts im Allgemeinen nicht auf.

Zweiter Fall:

 Server{
    hören Sie 80;
    Servername www.jiahemdata.com www.jiahemdata.cn;
    root /opt/tomcat-jhyx/webapps/jhyx/;
    Zeichensatz UTF-8;
    Standort /{
      Proxy-Passwort http://127.0.0.1:8093/jhyx/;
      Proxy_Set_Header Host $host;
      proxy_set_header Referrer $http_referer;
      Proxy_Set_Header X-Real-Ip $Remote_Addr;
      proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
    }
    access_log-Protokolle/tomcat_access.log;
  }

In diesem Fall wird der Tomcat-Ordner angegeben und nicht nur ein lauschender Port, was zu Änderungen bei jeder Anforderung und zu einem Sitzungsverlust führen würde.

Der dritte Fall:

 Server{
    hören Sie 80;
    Servername www.jiahemdata.com www.jiahemdata.cn;
    root /opt/tomcat-jhyx/webapps/jhyx/;
    Zeichensatz UTF-8;
    Standort /{
      Proxy_Redirect aus;
      Proxy-Passwort http://127.0.0.1:8093/jhyx/;
      proxy_cookie_path /jhyx/ /; //Legen Sie den Cookie-Pfad so fest, dass er sich nicht bei jeder Anforderung ändert.
      Proxy-Cookie-Pfad /jhyx/;
      Proxy_Set_Header Host $host;
      proxy_set_header Referrer $http_referer;
      Proxy_Set_Header X-Real-Ip $Remote_Addr;
      proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
    }
    access_log-Protokolle/tomcat_access.log;
  }

Zu diesem Zeitpunkt stellen Sie fest, dass Ihr Problem immer noch nicht gelöst ist. Zu diesem Zeitpunkt denken Sie: „Ich habe den Cookie-Pfad eindeutig festgelegt, warum funktioniert er nicht?“ Das liegt daran, dass Sie das Cookie nicht gesendet haben, als Sie es angefordert haben.

Der vierte Fall:

 Server{
    hören Sie 80;
    Servername www.jiahemdata.com www.jiahemdata.cn;
    root /opt/tomcat-jhyx/webapps/jhyx/;
    Zeichensatz UTF-8;
    Standort /{
      Proxy_Redirect aus;
      Proxy-Passwort http://127.0.0.1:8093/jhyx/;
      Proxy_Cookie-Pfad /jhyx/ /;
      Proxy-Cookie-Pfad /jhyx/;
      Proxy_Set_Header Host $host;
      proxy_set_header Referrer $http_referer;
      proxy_set_header Cookie $http_cookie; //Cookie-Informationen beim Senden der Anfrage übertragen proxy_set_header X-Real-Ip $remote_addr;
      proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
    }
    access_log-Protokolle/tomcat_access.log;
  }

Ich hoffe, Sie finden im Internet eine passende Lösung.

Dies ist das Ende dieses Artikels zur Lösung des Problems des Nginx-Sitzungsverlusts. Weitere Informationen zum Nginx-Sitzungsverlust finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Springsession Nginx Reverse-Proxy-Integrationsprozess
  • Analyse der Lösung für das Problem der gemeinsamen Nutzung von Nginx-Sitzungen
  • Detaillierte Erläuterung zweier Möglichkeiten zur Implementierung der Sitzungspersistenz im Nginx-Reverse-Proxy
  • Implementierung der Sitzungsverwaltung mit Nginx+Tomcat
  • nginx + redis realisiert Sitzungsfreigabe
  • nginx+tomcat implementiert Lastenausgleich und verwendet Redis-Sitzungsfreigabe
  • Beispiel einer Methode zur gemeinsamen Sitzungskonfiguration in Nginx
  • Nginx-Lastausgleich für gemeinsam genutzte Sitzungen an mehreren Standorten

<<:  Beispiel für eine gespeicherte MySQL-Prozedurmethode zum Zurückgeben mehrerer Werte

>>:  So implementieren Sie die Ajax-Kontrolle gleichzeitiger Anforderungen basierend auf JS

Artikel empfehlen

Eine kurze Erläuterung, wann MySQL interne temporäre Tabellen verwendet

Gewerkschaftsexekution Verwenden Sie zur Vereinfa...

17 hervorragende Webdesigns, sorgfältig von Startups entwickelt

Startups überraschen uns oft mit ihren unkonventi...

Erläuterung des Menüs „Entwicklertools“ in IE8

<br />In diesem Artikel wurden die verschied...

MySQL 8.0.12 – Schnellinstallations-Tutorial

Die Installation von MySQL 8.0.12 dauerte zwei Ta...

Eine kurze Diskussion darüber, ob CSS das Rendern von Seiten blockiert

Vielleicht weiß jeder, dass die JS-Ausführung die...

Detaillierte Erklärung zur Verwendung des Arguments-Objekts in JavaScript

Inhaltsverzeichnis Vorwort Grundlegende Konzepte ...

So kapseln Sie Abfragekomponenten basierend auf Element-UI Schritt für Schritt

Inhaltsverzeichnis Funktion Grundlegende Abfragef...

CSS3 verwendet die Übergangseigenschaft, um Übergangseffekte zu erzielen

Detaillierte Beschreibung der Eigenschaften Der Z...

Schritte zum Bereitstellen von Ingress-Nginx auf K8s

Inhaltsverzeichnis Vorwort 1. Bereitstellung und ...

Das Prinzip und die grundlegende Verwendung von Vue.use() in Vue

Inhaltsverzeichnis Vorwort 1. Verstehen mit Beisp...

CentOS 7.5 stellt Varnish-Cache-Serverfunktion bereit

1. Einführung in Varnish Varnish ist ein leistung...

Attribute im Vue V-For-Loop-Objekt

Inhaltsverzeichnis 1. Werte innerhalb von Schleif...

JavaScript zum Filtern von Arrays

In diesem Artikelbeispiel wird der spezifische Co...