Ein Reverse-Proxy wird verwendet, um Lastausgleichsdienste bereitzustellen und zunehmend auch, um die Sicherheit von Web-Anwendungen an strategischen Einfügungspunkten in einem Netzwerk durch Web Application Firewalls, Application Delivery Firewalls und Deep Content Inspection durchzusetzen.

Was ist ein Reverse-Proxy?

Im Netzwerk- und Webverkehr ist ein Proxy ein Gerät oder Server , der im Auftrag anderer Geräte agiert. Es sitzt zwischen zwei Entitäten und führt einen Dienst aus. Proxys sind Hardware- oder Softwarelösungen, die zwischen Client und Server sitzen, um Anfragen und manchmal auch Antworten zu verwalten.

Normalerweise befindet sich ein Reverse-Proxy-Server vor den Webservern und leitet Client-Anfragen (z. B. Webbrowser) an diese Webserver weiter. Die angeforderten Ressourcen werden dann an den Client zurückgegeben und erscheinen so, als ob sie vom Proxyserver selbst stammten. Dies bietet eine zusätzliche Abstraktions- und Kontrollebene, um einen reibungslosen Netzwerkverkehrsfluss zwischen Clients und Servern sicherzustellen. Ein Reverse-Proxy bietet außerdem die Möglichkeit, Anfragen basierend auf einer Vielzahl von Parametern weiterzuleiten, beispielsweise Benutzergerät, Standort, Netzwerkbedingungen, Anwendungsintegrität und sogar Tageszeit.

Was ist der Unterschied zwischen einem Reverse-Proxy und einem Load Balancer?

Reverse-Proxy-Server und Load Balancer sind beides Komponenten einer Client-Server-Computerarchitektur. Beide fungieren als Vermittler bei der Kommunikation zwischen Clients und Servern und erfüllen Funktionen, die die Effizienz verbessern. Sie können als dedizierte, speziell angefertigte Geräte implementiert werden, in modernen Webarchitekturen handelt es sich jedoch zunehmend um Softwareanwendungen, die auf Standardhardware ausgeführt werden. Obwohl sie scheinbar ähnliche Funktionen erfüllen, wollen wir untersuchen, wann und warum sie typischerweise auf einer Website eingesetzt werden.

Ein Load Balancer verteilt eingehende Clientanfragen auf eine Gruppe von Servern, um eine zufriedenstellende Geschwindigkeit und optimierte Funktion sicherzustellen. Lastenausgleichsmodule werden am häufigsten eingesetzt, wenn eine Site mehrere Server benötigt, da die Anzahl der Anfragen für eine effiziente Bearbeitung durch einen einzelnen Server zu groß ist. Durch den Einsatz mehrerer Server wird außerdem ein einzelner Ausfallpunkt eliminiert, wodurch die Website zuverlässiger wird. In den meisten Fällen hosten alle Server denselben Inhalt und die Aufgabe des Lastenausgleichs besteht darin, die Arbeitslast so zu verteilen, dass die Kapazität jedes Servers optimal genutzt wird, eine Überlastung der Server vermieden wird und die schnellstmögliche Antwort an den Client erfolgt.

Ein Reverse-Proxy nimmt eine Anfrage eines Clients entgegen, leitet sie an einen Server weiter, der sie erfüllen kann, und gibt die Antwort des Servers an den Client zurück. Während der Einsatz eines Load Balancers nur bei mehreren Servern sinnvoll ist, ist der Einsatz eines Reverse-Proxys oft sogar bei nur einem Webserver oder Anwendungsserver sinnvoll. Sie können sich den Reverse-Proxy als das „öffentliche Gesicht“ einer Website vorstellen. Seine Adresse ist die für die Website angegebene und er befindet sich am Rand des Netzwerks der Site, um Anfragen von Webbrowsern und mobilen Apps für die auf der Website gehosteten Inhalte entgegenzunehmen. Ein Reverse-Proxy bietet eine zusätzliche Abstraktions- und Kontrollebene, um einen reibungslosen Netzwerkverkehrsfluss zwischen Clients und Servern sicherzustellen. Der Reverse-Proxy bietet:

  • Erhöhte Sicherheit. Außerhalb Ihres internen Netzwerks sind keine Informationen zu Ihren Backend-Servern sichtbar, sodass böswillige Clients nicht direkt auf diese zugreifen können, um etwaige Schwachstellen auszunutzen. Viele Reverse-Proxy-Server verfügen über Funktionen, die dazu beitragen, Backend-Server vor Distributed-Denial-of-Service-Angriffen (DDoS) zu schützen, indem sie beispielsweise Datenverkehr von bestimmten Client-IP-Adressen ablehnen (Denylisting) oder die Anzahl der von jedem Client akzeptierten Verbindungen begrenzen.
  • Verbesserte Skalierbarkeit und Flexibilität. Da Clients nur die IP-Adresse des Reverse-Proxys sehen, können Sie die Konfiguration Ihrer Backend-Infrastruktur frei ändern. Dies ist insbesondere in einer Umgebung mit Lastenausgleich nützlich, in der Sie die Anzahl der Server nach oben und unten skalieren können, um Schwankungen im Datenverkehr auszugleichen.
  • Webbeschleunigung. Reverse-Proxys können die zum Generieren einer Antwort und zum Zurücksenden an den Client erforderliche Zeit verkürzen und so die Leistung durch Techniken wie SSL-Beschleunigung , intelligente Komprimierung und Caching verbessern. Reverse-Proxys ermöglichen außerdem föderierte Sicherheitsdienste für mehrere Anwendungen, indem sie die Sicherheit von Webanwendungen erzwingen.
Warum ist ein Reverse-Proxy wichtig?

Ein Reverse-Proxy wird verwendet, um Lastausgleichsdienste bereitzustellen und so ein reibungsloseres Web-Erlebnis zu ermöglichen. Außerdem wird er zunehmend eingesetzt, um die Sicherheit von Webanwendungen an strategischen Einfügungspunkten in einem Netzwerk durch Web Application Firewalls, Application Delivery Firewalls und Deep Content Inspection zu erzwingen.

In Kombination mit Cloud-Bereitstellungen kann ein Reverse-Proxy Cloud-Bursting und Split-Application-Architekturen ermöglichen, die die wirtschaftlichen Vorteile der Cloud bieten, ohne die Kontrolle oder Sicherheit zu beeinträchtigen.

Wie funktioniert ein Reverse-Proxy?

Ein Reverseproxy kann entweder als einfacher Weiterleitungsdienst fungieren oder aktiv am Austausch zwischen Client und Server teilnehmen. Wenn der Proxy Client und Server durch die Implementierung dualer Netzwerkstapel als separate Einheiten behandelt, wird er als vollständiger Proxy bezeichnet.

Ein vollständiger Proxy erstellt eine TCP-Client-Verbindung zusammen mit einer separaten TCP-Server-Verbindung mit einer kleinen Lücke in der Mitte. Der Client stellt an einem Ende eine Verbindung zum Proxy her und der Proxy stellt eine separate, unabhängige Verbindung zum Server her. Dies ist auf beiden Seiten bidirektional. Es kommt nie zu einer Vermischung der Verbindungen von der Client- zur Serverseite, da die Verbindungen unabhängig sind.

Wie handhabt F5 Reverse-Proxy-Funktionen?

Die Funktion eines Reverse-Proxys kann je nach Komplexität der Umgebung und den Anforderungen der Organisation von einem Gerät, einer Software oder einem Dienst ausgeführt werden.

Cloud-native Umgebungen

NGINX Plus ist ein softwarebasierter Reverse-Proxy, der ideal für Cloud-native Umgebungen ist und ähnlich wie ein Hardwaregerät Lastausgleich, Layer-7-Routing und Web-Performance-Optimierung durchführt. NGINX Plus trägt außerdem dazu bei, die Leistung, Zuverlässigkeit, Sicherheit und Skalierbarkeit von Websites zu verbessern. NGINX Plus ist viel günstiger als hardwarebasierte Lösungen mit ähnlichen Funktionen. Die umfassenden Lastausgleichs- und Reverse-Proxy-Funktionen in NGINX Plus ermöglichen Ihnen den Aufbau eines hochoptimierten Anwendungsbereitstellungsnetzwerks. NGINX Plus kann sowohl in der öffentlichen Cloud als auch in privaten Rechenzentren zu geringeren Kosten als ein vollständiger Proxy bereitgestellt werden.

Hybridumgebungen

Für komplexere und hybridere Umgebungen ist das F5 BIG-IP-System ein vollwertiger Proxy, der als vollwertiger Reverse-Proxy-Server eingesetzt werden kann, der Anfragen und Antworten abfangen, prüfen und mit ihnen interagieren kann. Hierzu gehören die Grundfunktionen Lastausgleich und Web-Performance-Optimierung sowie erweiterte Dienste zur Verkehrsverwaltung , wie etwa Sicherheit auf Anwendungsebene , Web-Beschleunigung , Seitenrouting und sicherer Fernzugriff .