Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So implementieren Sie einen Reverse-Proxy in Nginx

So implementieren Sie einen Reverse-Proxy in Nginx

(*-*)浩
(*-*)浩Original
2019-06-06 09:15:1010920Durchsuche

Ich hatte kürzlich vor, den Nginx-Quellcode zu studieren und sah Online-Einführungen, dass Nginx als Reverse-Proxy-Server verwendet werden kann, um den Lastausgleich abzuschließen. Deshalb habe ich einige Informationen über Reverse-Proxy-Server gesammelt und zusammengestellt.

So implementieren Sie einen Reverse-Proxy in Nginx

Die Reverse-Proxy-Methode bezieht sich auf die Verwendung eines Proxyservers, um Verbindungsanfragen im Internet anzunehmen und die Anfrage dann an den Server im internen Netzwerk weiterzuleiten Der Server wird an den Client zurückgegeben, der eine Verbindung zum Internet anfordert. Zu diesem Zeitpunkt erscheint der Proxyserver nach außen als Server.

Übliche Proxyserver werden nur zum Weiterleiten interner Netzwerkverbindungsanfragen an das Internet verwendet. Der Client muss einen Proxyserver angeben und HTTP-Anfragen, die direkt an den Webserver gesendet werden sollen, an den Proxyserver senden. Wenn ein Proxyserver einen Host im externen Netzwerk für den Zugriff auf das interne Netzwerk vertreten kann, wird diese Proxy-Dienstmethode als Reverse-Proxy-Dienst bezeichnet.

Es gibt normalerweise zwei Modelle für die Implementierung eines Reverse-Proxy-Servers. Er kann als Ersatz für den Content-Server oder als Load Balancer für den Content-Server-Cluster verwendet werden.

Fungiert als Stellvertreter für Ihren Inhaltsserver Proxyserver fungieren als Stellvertreter für Inhaltsserver. Wenn externe Clients versuchen, auf den Content-Server zuzugreifen, werden sie an den Proxy-Server weitergeleitet. Der eigentliche Inhalt liegt auf dem Content-Server, der innerhalb der Firewall sicher geschützt ist. Proxyserver befinden sich außerhalb der Firewall und erscheinen den Clients als Inhaltsserver.

Wenn ein Client eine Anfrage an eine Site stellt, wird die Anfrage an den Proxyserver weitergeleitet. Der Proxy-Server sendet dann die Anfrage des Clients über einen bestimmten Pfad in der Firewall an den Content-Server. Der Content-Server sendet die Ergebnisse dann über diesen Kanal zurück an den Proxy-Server. Der Proxyserver sendet die abgerufenen Informationen an den Client, als wäre der Proxyserver der eigentliche Inhaltsserver. Wenn der Inhaltsserver eine Fehlermeldung zurückgibt, fängt der Proxyserver die Nachricht ab und ändert alle im Header aufgeführten URLs, bevor er die Nachricht an den Client sendet. Dadurch wird verhindert, dass externe Clients die Weiterleitungs-URL für den internen Inhaltsserver erhalten.

Auf diese Weise stellt der Proxyserver eine weitere Barriere zwischen der sicheren Datenbank und möglichen böswilligen Angriffen dar. Selbst wenn ein glücklicher Angriff erfolgreich ist, ist der Täter im besten Fall auf die Informationen beschränkt, die an einer einzelnen Transaktion beteiligt sind, statt Zugriff auf die gesamte Datenbank zu haben. Unbefugte Benutzer können nicht auf den eigentlichen Content-Server zugreifen, da der Firewall-Pfad nur den Zugriff auf den Proxy-Server zulässt.

Load Balancer als Content-Server

Innerhalb einer Organisation können mehrere Proxyserver verwendet werden, um die Netzwerklast zwischen Webservern auszugleichen. In diesem Modell können Sie die Caching-Funktionen des Proxyservers nutzen, um einen Serverpool für den Lastausgleich zu erstellen. Zu diesem Zeitpunkt kann sich der Proxyserver auf beiden Seiten der Firewall befinden. Wenn Ihr Webserver täglich viele Anfragen erhält, können Sie einen Proxyserver verwenden, um die Last auf dem Webserver zu verteilen und die Effizienz des Netzwerkzugriffs zu verbessern.

Der Proxyserver fungiert als Vermittler für Clientanfragen an den realen Server. Der Proxyserver speichert das angeforderte Dokument zwischen. Wenn mehr als ein Proxyserver vorhanden ist, kann DNS seine IP-Adresse per „Round-Robin“ auswählen und Anfragen nach dem Zufallsprinzip weiterleiten. Der Client verwendet jedes Mal dieselbe URL, aber die Route der Anfrage kann jedes Mal über einen anderen Proxyserver verlaufen.

Für die Bearbeitung von Anfragen an einen Content-Server mit hohem Volumen können mehrere Proxy-Server verwendet werden. Der Vorteil besteht darin, dass der Content-Server eine höhere Auslastung bewältigen kann und effizienter ist, als wenn er alleine arbeiten würde. Beim ersten Start ruft der Proxy-Server zunächst Dokumente vom Content-Server ab, danach sinkt die Anzahl der Anfragen an den Content-Server deutlich.

Weitere technische Artikel zum Thema Nginx finden Sie in der Spalte

Tutorials zur Nginx-Nutzung

, um mehr zu erfahren!

Das obige ist der detaillierte Inhalt vonSo implementieren Sie einen Reverse-Proxy in Nginx. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn