Kemp Technologies Blogs

Reverse Proxy vs. Load Balancer: Die wichtigsten Unterschiede

Doug Barney | Posted on | Load Balancer

 

Load Balancer sind wie Reverse-Proxys auf Steroiden, die mehrere Server verwalten und unzählige Funktionen hinzufügen. 

Viele, auch langjährige IT-Profis, sind verwirrt über die Unterschiede zwischen einem Reverse Proxy und einem Load Balancer. Und dafür gibt es einen guten Grund. Es gibt eine ganze Reihe von Überschneidungen zwischen den beiden Begriffen, und in einigen Fällen meinen sie das Gleiche. Der eigentliche Unterschied liegt darin, welcher Anbieter welchen Begriff verwendet. Einige Produkte, die als Reverse Proxies verkauft werden, sind enger gefasst und weniger funktionsreich als solche, die als Load Balancer oder Application Delivery Controller verkauft werden. Diese Reverse Proxies mit geringerem Funktionsumfang sind in der Regel Open Source, obwohl einige Anbieter ihre Load Balancer als Reverse Proxies bezeichnen.

 

Was ist ein Reverse-Proxy?  

Der Begriff Reverse-Proxy wird normalerweise für einen Dienst verwendet, der einem oder mehreren Servern (z. B. einem Webserver) vorgeschaltet ist und Anfragen von Clients nach Ressourcen auf dem/den Server(n) annimmt. Aus der Sicht des Clients erscheint der Reverse Proxy als Webserver und ist somit für den entfernten Benutzer völlig transparent.

Ein Load Balancer bietet hochverfügbare Reverse-Proxy-Dienste für eine Vielzahl von Workloads und verbessert die Servicebereitstellung mit Funktionen wie erweitertem Load Balancing, SSL-Offloading und einer integrierten Web Application Firewall.

Was ist ein Load Balancer?  

Ein  Load Balancer kann als Software oder Hardware auf einem Gerät eingesetzt werden, das die Verbindungen von Clients zu einer Gruppe von Servern verteilt. Ein Load Balancer fungiert als "Reverse Proxy", der die Anwendungsserver für den Client über eine virtuelle IP-Adresse (VIP) repräsentiert. Diese Technologie wird als Server Load Balancing (SLB) bezeichnet. SLB ist für Pools von Anwendungsservern an einem einzigen Standort oder in einem lokalen Netzwerk (LAN) konzipiert.

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

Ein Reverse-Proxy ist in der Regel ein einfacherer Ansatz, bei dem der Proxy eine Anfrage von einem Client erhält, sie zur Bearbeitung an einen Server weiterleitet und dann die Antwort des Servers an den anfragenden Client sendet.  

Reverse-Proxys stellen eine Abstraktionsebene zwischen dem Client und dem Server dar, daher der Begriff Proxy. Auf diese Weise interagiert ein Hacker nicht direkt mit dem Server und kann keine erfolgreichen Angriffe wie DDoS starten.  
 
Im Gegensatz dazu nimmt ein Load Balancer Client-Anfragen entgegen und verteilt sie auf eine definierte Gruppe von Servern, und in diesem Prozess übernimmt der für die Anfrage am besten geeignete Server die Verarbeitung und sendet die Antwort an den Client zurück. Oft ist dies der Server mit der geringsten Last, der daher die Anfrage am schnellsten verarbeiten kann und einen bereits stark ausgelasteten Server nicht belastet. 
 
Einige Reverse-Proxys können Anfragen auch an mehrere Server weiterleiten und fungieren daher als echter Load Balancer. 
 

Ist ein Load Balancer auch ein Reverse-Proxy? 

Die kurze Antwort lautet: Ja. Absolut ja.
Ein Load Balancer kann als Software oder Hardware auf einem Gerät bereitgestellt werden, das Verbindungen von Clients auf eine Gruppe von Servern verteilt.  

 

Ein Load Balancer ist ein Reverse Proxy. Er präsentiert dem Client eine virtuelle IP-Adresse (VIP), die die Anwendung repräsentiert. Der Client verbindet sich mit dem VIP, und der Load Balancer entscheidet mit Hilfe seiner Algorithmen, ob die Verbindung an eine bestimmte Anwendungsinstanz auf einem Server weitergeleitet wird. Der Load Balancer verwaltet und überwacht die Verbindung während der gesamten Dauer.

 

Kann ein Load Balancer als Proxy fungieren? 

Ja. Load Balancer verwenden einen Proxy oder Reverse-Proxy als Element ihrer Gesamtfunktion, gehen aber weit über das hinaus, was Lösungen, die als Reverse-Proxys bezeichnet werden, bieten.  
 

Benötigen Sie einen Reverse-Proxy, wenn Sie einen Load Balancer haben? 

Im Allgemeinen nein. Ein Load Balancer ist ein Reverse-Proxy. Es kann seltene Fälle geben, in denen ein Open-Source-Reverse-Proxy einen sehr spezifischen Bedarf erfüllt, aber dies sind eher Ausnahmen als die Regel. 
  

Was ist besser: Reverse Proxy oder Load Balancer?   

Auch hier hat die Antwort wirklich damit zu tun, wie Produkte gekennzeichnet werden. High-End-Lösungen werden in der Regel entweder als Load Balancer oder Application Delivery Controller (ADC) bezeichnet, und diese Begriffe sind oft austauschbar. Produkte mit eingeschränkter Funktion tragen häufig die Bezeichnung "Reverse Proxy".

Was macht ein Load Balancer? 

Anwendungs-Workloads/Server 

Load Balancer sorgen für Verfügbarkeit und Skalierbarkeit der Anwendung. Die Anwendung kann über die Kapazität eines einzelnen Servers hinaus skaliert werden. Der Load Balancer leitet den Datenverkehr über verschiedene Load-Balancing-Algorithmen zu einem Pool verfügbarer Server. Wenn mehr Ressourcen benötigt werden, können zusätzliche Server hinzugefügt werden. 
 

Verfügbarkeit  

Load Balancer überprüfen den Zustand der Anwendung auf dem Server, um ihre Verfügbarkeit zu bestimmen. Wenn die Zustandsprüfung fehlschlägt, nimmt der Load Balancer diese Instanz der Anwendung aus dem Pool der verfügbaren Server. Wenn die Anwendung wieder online geschaltet wird, überprüft die Integritätsprüfung ihre Verfügbarkeit, und der Server wird wieder in den Verfügbarkeitspool aufgenommen. 
 

Was ist ein Proxy? 

In der Terminologie von Computernetzwerken ist ein Proxy ein System, das Verbindungen zwischen zwei Systemen (in der Regel einem Client und einem Server) vermittelt. Häufig befindet sich eine Entität in einer vertrauenswürdigen Zone und die andere in einer weniger vertrauenswürdigen oder nicht vertrauenswürdigen Zone. Der Client sendet seine Anfrage an den Proxy und der Proxy leitet sie an den Server weiter, der Server sendet die Antwort an den Proxy und der Proxy gibt sie an den Client zurück. Schön und einfach.

Was ist ein Forward-Proxy? 

Ein Forward-Proxy ist ein Proxy, der so konfiguriert ist, dass er Anfragen einer Gruppe von Clients unter der Kontrolle des lokalen Administrators an eine unbekannte oder beliebige Gruppe von Ressourcen, die sich außerhalb der Kontrolle des Administrators befinden, bearbeitet. In der Regel wird das Wort "Forward" weggelassen und er wird einfach als Proxy bezeichnet - dies ist in der Microsoft-Topologie der Fall. Ein gutes Beispiel dafür ist eine Web-Proxy-Appliance, die Webverkehrsanfragen von Client-Rechnern im lokalen Netz entgegennimmt und sie an Server im Internet weiterleitet. Der Zweck eines Forward Proxy ist die Verwaltung der Client-Systeme.

 

Was ist ein Reverse-Proxy? 

Der Begriff Reverse-Proxy ähnelt ein wenig dem Begriff "Cloud". Wenn Sie drei Personen fragen, was es ist, erhalten Sie viereinhalb Antworten! Handelt es sich um eine Firewall? Ein Router? Ein Load Balancer? Wenn es Ihnen nicht klar ist, machen Sie sich keine Sorgen, Sie sind nicht allein. 
 
Die Herausforderung zu verstehen, was ein Reverse-Proxy eigentlich ist, besteht oft darin, ihn als ein bestimmtes Gerät oder Produkt zu betrachten, obwohl es sich in Wirklichkeit um eine Netzwerkfunktion handelt, ähnlich wie Switching oder Routing. Mit dieser Denkweise im Hinterkopf wird es einfacher zu verstehen, warum viele verschiedene Produkte und Geräte die Rolle eines Reverse-Proxys übernehmen können. 
 
Ein Reverse-Proxy ist ein Proxy, der so konfiguriert ist, dass er Anforderungen von einer Gruppe von Remote- oder beliebigen Clients an eine Gruppe bekannter Ressourcen unter der Kontrolle des lokalen Administrators verarbeitet. Ein Beispiel hierfür ist ein Load Balancer (auch bekannt als Application Delivery Controller), der Anwendungshochverfügbarkeit und -optimierung für Workloads wie Microsoft Lync, Exchange und SharePoint bereitstellt. Der Zweck eines Reverse-Proxys besteht darin, die Serversysteme zu verwalten. 
 
Alles, was danach kommt, sind nur Details, die für die Situation und das Produkt spezifisch sind, aber nicht Teil der Definition eines Reverse-Proxys. Die Rolle des Reverse-Proxys ist wichtig für die Bereitstellung vieler anderer Netzwerkdienste, aber sie ist nicht das, was einen Reverse-Proxy definiert.
Sicherheitsgeräte wie Web Application Firewalls fungieren als Reverse-Proxys, um den Anwendungsdatenverkehr auf Angriffe zu untersuchen, und Load Balancer implementieren Reverse-Proxying, um den Datenverkehr ebenfalls zu optimieren und zu kontrollieren.