Detaillierte Erläuterung zweier Möglichkeiten zur Implementierung der Sitzungspersistenz im Nginx-Reverse-Proxy

Detaillierte Erläuterung zweier Möglichkeiten zur Implementierung der Sitzungspersistenz im Nginx-Reverse-Proxy

1. ip_hash:

ip_hash verwendet einen Quelladressen-Hash-Algorithmus, um Anfragen immer vom selben Client an denselben Backend-Server zu senden, sofern der Server nicht nicht verfügbar ist.

ip_hash-Syntax:

 Upstream-Backend {
  ip_hash;
  Server backend1.example.com;
  Server backend2.example.com;
  Server backend3.example.com ausgefallen;
  Server backend4.example.com;
}

ip_hash ist einfach und leicht zu verwenden, weist jedoch die folgenden Probleme auf:

  • Wenn der Backend-Server ausfällt, geht die Sitzung verloren.
  • Clients aus demselben LAN werden an denselben Backend-Server weitergeleitet, was zu einem Lastungleichgewicht führen kann.
  • Dies ist nicht auf CDN-Netzwerke anwendbar und auch nicht auf Situationen, in denen sich im Front-End ein Proxy befindet.

2. sticky_cookie_insert:

Verwenden Sie sticky_cookie_insert, um die Sitzungsaffinität zu aktivieren, die bewirkt, dass Anforderungen desselben Clients für eine Gruppe von Servern an denselben Server übermittelt werden. Der Unterschied zu ip_hash besteht darin, dass der Client nicht anhand der IP, sondern anhand des Cookies beurteilt wird. Daher kann die Situation vermieden werden, in der der Client und der Front-End-Proxy aus demselben LAN im obigen IP-Hash ein Lastungleichgewicht verursachen.

Grammatik:

 Upstream-Backend {
  Server backend1.example.com;
  Server backend2.example.com;
  sticky_cookie_insert srv_id läuft ab=1h Domäne=toxingwang.com Pfad=/;
}

veranschaulichen:

  • Läuft ab: Legen Sie fest, wie lange das Cookie im Browser gespeichert bleiben soll.
  • domain: definiert die Domäne des Cookies
  • path: definiert den Pfad für das Cookie

Darüber hinaus können Sie auch den Backend-Server selbst verwenden, um die Sitzung über entsprechende Mechanismen synchron zu halten, die später ausführlich beschrieben werden!

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 Multi-Port-Zuordnung des Nginx-Reverse-Proxys
  • Der Nginx-Reverseproxy leitet Anfragen von Port 80 an 8080 weiter.
  • Beispiel für die Verwendung des Nginx-Reverse-Proxys für Go-FastDFS
  • Nginx Reverse-Proxy-Konfiguration entfernt Präfix
  • Detaillierte Erklärung des Nginx Reverse-Proxy-Beispiels

<<:  Anleitung zum Zurücksetzen des MySQL/MariaDB-Root-Passworts

>>:  So lösen Sie das Problem verstümmelter chinesischer Zeichen beim Einfügen von Tabellendaten in MySQL

Artikel empfehlen

Vue-Ereignisparameter $event = Ereigniswertfall

Vorlage <el-table :data="Datenliste"...

So verwenden Sie die Concat-Funktion in MySQL

Wie unten dargestellt: //Fragen Sie das Jahr und ...

Prozessdiagramm für die Sitzungsfreigabe bei Tomcat Nginx Redis

1. Vorbereitung Middleware: Tomcat, Redis, Nginx ...

Elemente der Benutzererfahrung oder Elemente des Webdesigns

System- und Benutzerumgebungsdesign <br />D...

Mehrere Methoden zum Löschen von Floating (empfohlen)

1. Fügen Sie ein leeres Element desselben Typs hi...

Detaillierte Erklärung zur Verwendung der Vue.js-Renderfunktion

Vue empfiehlt in den meisten Fällen die Verwendun...

React+Koa-Beispiel zur Implementierung des Datei-Uploads

Inhaltsverzeichnis Hintergrund Serverabhängigkeit...

Vue implementiert den Lupeneffekt beim Tab-Umschalten

In diesem Artikelbeispiel wird der spezifische Co...

Problem mit der V-HTML-Rendering-Komponente

Da ich bereits HTML analysiert habe, möchte ich h...

Detaillierte Erklärung zum Anzeigen der Anzahl der MySQL-Server-Threads

In diesem Artikel wird anhand eines Beispiels bes...

So handhaben Sie Bilder in Vue-Formularen

Frage: Ich habe in Vue ein Formular zum Hochladen...

Vue implementiert das Bild mit Schaltflächenwechsel

In diesem Artikelbeispiel wird der spezifische Co...