Reverse-Proxy Unter Reverse-Proxy versteht man den Empfang der Zugriffsanforderung des Benutzers über einen Proxy-Server, das erneute Initiieren der Anforderung an den internen Server im Namen des Benutzers und die abschließende Rückgabe der Antwortinformationen des internen Servers an den Benutzer. Auf diese Weise erscheint der Proxyserver der Außenwelt als Server, und der Client, der auf den internen Server zugreift, verwendet den Proxyserver anstelle des tatsächlichen Benutzers, der auf die Website zugreift. Gründe für die Verwendung eines Reverse-Proxys
Reverse-Proxy-Beispiel Umgebungsbeschreibung Angenommen, es gibt zwei Server AB. Server A stellt Webressourcen bereit und ist nur über das Intranet zugänglich. Server B verfügt über zwei Netzwerkkarten, eine befindet sich im selben Intranet wie Server A und die andere im externen Netzwerk. Zu diesem Zeitpunkt ist es für Benutzer C nicht möglich, direkt auf Server A zuzugreifen. Zu diesem Zeitpunkt kann auf die Anforderung von Benutzer C über Server B zugegriffen werden.
Konfigurieren virtueller Hosts Bearbeiten Sie die virtuelle Host-Konfigurationsdatei auf dem Moli-04-Rechner. Der Inhalt ist wie folgt: [root@moli-04 extra]$ cat blog.syushin.org.conf Server{ hören Sie 80; Servername blog.syushin.org; Standort / { Proxy-Passwort http://192.168.30.7; Proxy_Set_Header Host $host; Proxy_Set_Header X-Real-IP $Remote_Addr; proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; } } Ändern der Hosts-Datei Ändern Sie die Hosts-Datei unter Windows und fügen Sie die Konfiguration hinzu 192.168.93.129 blog.syushin.org Browsertests Die Zugriffsadresse lautet 192.168.93.129, und die Seite der Maschine 05 wird auf der Schnittstelle angezeigt. Die Konfiguration ist erfolgreich. Lastenausgleich Lastausgleichsfunktion
Wenn ein Lastausgleichscluster ausgeführt wird, sendet er im Allgemeinen Client-Zugriffsanforderungen über einen oder mehrere Front-End-Lastausgleichsmodule an eine Gruppe von Back-End-Servern. Nginx-Lastausgleich Streng genommen wird Nginx nur als Reverse-Proxy von Nginx Proxy verwendet, aber da die Wirkung dieser Reverse-Proxy-Funktion die Wirkung einer Lastausgleichsmaschine ist, ist der Nginx-Lastausgleich ein spezieller Reverse-Proxy. Die Hauptkomponenten zur Implementierung des Nginx-Lastausgleichs sind:
Einführung in das Upstream-Modul Zu den vom Modul ngx_http_upstream_module unterstützten Proxy-Methoden gehören proxy_pass, fastcgi_pass usw., wobei hauptsächlich proxy_pass verwendet wird. Mit dem Upstream-Modul kann nginx eine oder mehrere Gruppen von Knotenservergruppen definieren. Bei Verwendung wird die Website-Anforderung über den Proxy_pass-Proxy an die definierte entsprechende Knotengruppe gesendet. Beispiel: Erstellen eines Node-Server-Pools Upstream-Blog Server 192.168.30.5:80 Gewicht=5; Server 192.168.30.6:81 Gewicht=10; Server 192.168.30.7:82 Gewicht=15; } Zusätzlich zum Gewicht kann der Statuswert des Knotenservers auch wie folgt festgelegt werden: Verwenden Sie den Domänennamen Upstream Upstream-Blog2{ Server www.syushin.com Gewicht=5; Server blog.syushin.org ausgefallen; Server-Backup blog.syushin.cc; } Planungsalgorithmus rr-Polling (Standard-Planungsalgorithmus, statischer Planungsalgorithmus) Verteilen Sie Clientanforderungen entsprechend der Reihenfolge der Clientanforderungen nacheinander an verschiedene Backend-Knotenserver. wrr (gewichteter Round-Robin, statischer Planungsalgorithmus) Gewichte werden auf der Grundlage von RR-Polling hinzugefügt. Bei Verwendung dieses Algorithmus ist das Gewicht proportional zum Benutzerzugriff. Je höher der Gewichtswert, desto mehr Anfragen werden weitergeleitet. Upstream-Pools{ Server 10.0.0.1 Gewicht = 1; Server 10.0.0.2 Gewicht = 2; } ip_hash (statischer Planungsalgorithmus) Jede Anfrage wird entsprechend dem Hash-Ergebnis der Client-IP zugewiesen. Wenn eine neue Anfrage eintrifft, wird die Client-IP zunächst durch einen Hash-Algorithmus in einen Wert gehasht. Bei nachfolgenden Client-Anfragen wird sie demselben Server zugewiesen, solange der Hash-Wert der Client-IP derselbe ist. Upstream Blog_Pool { ip_hash; Server 192.168.30.5:80; Server 192.168.30.6:8090; } Hinweis: Bei Verwendung von IP_Hash sind Gewicht und Backup nicht zulässig. least_conn-Algorithmus Der least_conn-Algorithmus bestimmt die Verteilung basierend auf der Anzahl der Verbindungen zu den Backend-Servern, und dem Server mit der geringsten Anzahl von Verbindungen werden mehr Anfragen zugewiesen. Neben den oben aufgeführten (häufig verwendeten) Scheduling-Algorithmen gibt es noch viele weitere, die hier nicht einzeln aufgeführt werden. Modul http_proxy_module http_proxy_module kann Anfragen an einen anderen Server weiterleiten. Im Reverse-Proxy wird die angegebene URI über die Standortfunktion abgeglichen, und dann werden die Anfragen, die mit der übereinstimmenden URI übereinstimmen, über proxy_pass an den definierten Upstream-Knotenpool weitergeleitet. http_proxy-Modulparameter
Proxy_pass-Nutzung Format: Proxy-Pass-URL; Hier ist ein Beispiel:
Die URL kann ein Domänenname, eine IP-Adresse oder eine Socket-Datei sein. Bei der Proxy_Pass-Konfiguration sind einige Dinge zu beachten:
Beispiel 2
Beispiel 3
Beispiel 4
Wenn der Servername blog.syushin.com ist und Sie http://blog.syushin.com/uploa... anfordern, lautet das Anforderungsergebnis des obigen Beispiels 1–4:
Okay, das ist alles für diesen Artikel. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen. Das könnte Sie auch interessieren:
|
<<: Detaillierte Analyse des binlog_format-Modus und der Konfiguration in MySQL
>>: React-Implementierungsbeispiel mit Amap (react-amap)
Inhaltsverzeichnis Was ist ref So verwenden Sie r...
In Bezug auf das Nginx-Panikproblem müssen wir zu...
Ich habe kürzlich in einem Projekt nginx und im B...
Das mit CLI3 erstellte Vue-Projekt wird als Nullk...
Das Div+CSS-Layout zur Erzielung einer 2-Enden-Au...
Wenn die Rahmenlänge früher kleiner als der Conta...
Im eigentlichen Projektentwicklungsprozess wird di...
Vor einigen Tagen habe ich festgestellt, dass mei...
Nginx-Protokollbeschreibung Über Zugriffsprotokol...
Dieser Artikel zeichnet das Installationstutorial...
Es gibt zwei gängige Möglichkeiten, den Div-Hinte...
1. Über den Dateiserver Wenn Sie in einem Projekt...
Phrasenelemente wie <em></em> können d...
Cockpit ist ein webbasiertes Serververwaltungstoo...
Sinnvolle Einstellung des MySQL sql_mode sql_mode...