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

Tutorial zur Installation und Konfiguration der Centos7-MySQL-Datenbank

1. Systemumgebung Die Systemversion nach dem Yum-...

Analyse der Verwendung des MySQL-Datenbankbefehls „show processlist“

Wenn bei der tatsächlichen Projektentwicklung die...

Eine kurze Erläuterung der Rolle und Funktionsweise von Schlüsseln in Vue3

Welche Funktion hat dieses Schlüsselattribut? Sch...

Detaillierte Erklärung der Lösung für das zu langsame Docker-Compose

Es gibt nur eine Lösung: die Quelle ändern! Die Q...

So implementieren Sie Leerzeichen in Taobao mit CSS3

Machen Sie einen leeren Bereich für Taobao: Wenn ...

So ändern Sie die inländische Quelle von Ubuntu 20.04 apt

UPD 2020.2.26 Derzeit ist Ubuntu 20.04 LTS noch n...

7 Fähigkeiten, die Webdesigner haben müssen

Webdesign ist sowohl eine Wissenschaft als auch e...

Theorie: Die zwei Jahre User Experience

<br />Es ist nicht länger als zwei Jahre her...

Warum verwendet der MySQL-Datenbankindex den B+-Baum?

Bevor wir weiter analysieren, warum der MySQL-Dat...

Detaillierte Erklärung der mysql.user-Benutzertabelle in Mysql

MySQL ist eine von mehreren Benutzern verwaltete ...

JavaScript Canvas implementiert Grafiken und Text mit Schatten

Verwenden Sie Canvas, um Grafiken und Text mit Sc...

So öffnen Sie das MySQL-Binlog-Protokoll

Binlog ist eine binäre Protokolldatei, die alle M...

So ändern Sie die Standardspeicher-Engine in MySQL

MySQL-Speicher-Engine: Der MySQL-Server verwendet...

IE8 verwendet den Multikompatibilitätsmodus, um Webseiten normal anzuzeigen

IE8 wird mehrere Kompatibilitätsmodi haben. Der IE...