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

Installationshandbuch für VMware Workstation 15 Pro (für Anfänger)

01. VMware Workstation Pro 15 herunterladen Herun...

Änderung und Abfrage von Python MySQL-Datenbanktabellen

Python stellt eine Verbindung zu MySQL her, um Da...

So migrieren Sie lokales MySQL in eine Serverdatenbank

Wir können den scp-Befehl von Linux (scp kann unt...

Beispielcode mit Vue-Router in HTML

Einführung in Vue und Vue-Router <script src=&...

So stellen Sie Confluence und Jira-Software in Docker bereit

Version: centos==7.2 jdk==1.8 Zusammenfluss == 6....

So fragen Sie einen Datensatz in MySQL ab, auf welcher Seite der Paging-Seite

Vorwort In der Praxis kann es zu folgendem Proble...

So verwenden Sie Docker-Compose, um Django-Anwendungen offline bereitzustellen

Inhaltsverzeichnis Installieren Sie Docker-ce für...

Lokale Vue-Komponentendatenfreigabe Vue.observable()-Nutzung

Wenn Komponenten detaillierter werden, treten Sit...

Eine vollständige Liste der Meta-Tag-Einstellungen für Mobilgeräte

Vorwort Als ich zuvor das Front-End studierte, be...

VUE implementiert eine Timeline-Wiedergabekomponente

In diesem Artikelbeispiel wird der spezifische Co...

Verstehen Sie kurz die MySQL-Datenbankoptimierungsphase

Einführung Haben Sie schon einmal eine Situation ...

Lernen Sie die Ausführungsreihenfolge von SQL-Abfragen von Grund auf

Die Ausführungsreihenfolge der SQL-Abfrageanweisu...

MySQL 8.0.18 verwendet Klon-Plugin, um die MGR-Implementierung neu zu erstellen

Angenommen, ein Knoten im Drei-Knoten-MGR ist abn...