Was ist ein Reverse-Proxy?

Reverse-Proxys kommen als vermittelnde Netzwerkkomponente zum Einsatz, um die Server von öffentlichen Onlinediensten abzusichern. Hierfür nehmen sie Server-Anfragen stellvertretend entgegen und leiten sie an die User weiter.

Wie funktioniert ein Reverse-Proxy?

Grundsätzlich fungiert ein Proxy-Server als eine Kommunikationsschnittstelle im Netzwerk, die Anfragen entgegennimmt und stellvertretend an einen Ziel-Server weiterleitet. Ein Reverse-Proxy wird dabei immer zwischen den Clients (z. B. Webbrowsern) und den Backend-Servern (z. B. Webservern, Datenbankservern oder Anwendungen) geschaltet. Sobald eine Client-Anfrage gestellt wird, kommt er zum Einsatz und entscheidet, ob und an welche interne Serverkomponente diese weitergeleitet werden soll. Folgende vier grundlegenden Schritte fallen in diesem Prozess an:

  1. Empfang der Client-Anfrage: Der Reverse-Proxy nimmt HTTP-, HTTPS- oder auch andere Anfragen wie FTP oder WebSocket entgegen.
  2. Analyse der Anfrage: Der Proxy überprüft, ob die Anfrage gültig ist, ob sie Sicherheitsrisiken birgt und ob es eine zwischengespeicherte Version gibt.
  3. Weiterleitung an den passenden Server: Falls die Anfrage nicht aus dem Cache beantwortet werden kann, sendet der Reverse-Proxy die Anfrage an einen der internen Server.
  4. Antwort an den Client: Der Reverse-Proxy empfängt die Antwort vom Backend-Server, verarbeitet sie ggf. weiter (z. B. Verschlüsselung) und sendet sie an den anfragenden Client zurück.
Schematische Darstellung eines Reverse-Proxys
Reverse-Proxy und Webserver befinden sich in einem gemeinsamen, internen Netzwerk
Hinweis

Reverse-Proxys werden in der Regel von einer Firewall abgesichert in einem privaten Netzwerk oder einer vorgelagerten demilitarisierten Zone (DMZ) installiert.

Was ist der Unterschied zu Forward-Proxys?

Während Reverse-Proxys wie bereits erwähnt zwischen Clients und Backend-Servern geschaltet sind, sitzen Forward-Proxys zwischen Clients und dem Internet. Ein Forward-Proxy kanalisiert alle Client-Anfragen und leitet diese mit der eigenen Absenderadresse an die Zielserver im Internet weiter. Auch Serverantworten erreichen zuerst den Proxy, bevor sie an die entsprechenden Client-Geräte verteilt werden. Diese bleiben somit anonym – es sei denn, es handelt sich um einen transparenten Proxy. Während ein Forward-Proxy Clients im internen Netzwerk vor externen Bedrohungen schützt, sichert ein Reverse-Proxy Server in einem öffentlichen Netzwerk und optimiert deren Erreichbarkeit.

Während Reverse-Proxys also durch Features wie Load Balancing und verschiedene Sicherheitsfunktionen klare Vorteile für Serverstrukturen bieten, liegen die Stärken von Forward-Proxys im Schutz von Clients.

Schematische Darstellung eines Forward-Proxys
Anders als beim Reverse-Proxy befindet sich der Forward-Proxy in einem gemeinsamen, internen Netzwerk mit den Clients.
Hinweis

Forward-Proxys werden häufig eingesetzt, um den Internetzugriff in Unternehmensnetzwerken zu kontrollieren. Weitere Einsatzgebiete sind die Anonymisierung in VPN-Diensten und die Umgehung von Geo-Blockaden.

Reverse-Proxy: Anwendungsgebiete

Die Bündelung der Client-Anfragen ermöglicht es, den eingehenden Datenverkehr durch Reverse-Proxys hochgradig zu kontrollieren. Unter anderem lassen sich so mehrere Server unter derselben URL zur Verfügung stellen, Anfragen gleichmäßig auf verschiedene Server verteilen und der Datenabruf durch Caching beschleunigen. Im Folgenden sind die wichtigsten Einsatzfelder eines Reverse-Proxy-Servers aufgeführt.

Compute Engine
Die ideale IaaS für Ihre Workloads
  • Kostengünstige vCPUs und leistungsstarke dedizierte Cores
  • Höchste Flexibilität ohne Mindestvertragslaufzeit
  • Inklusive 24/7 Experten-Support

Load Balancing

Durch einen vorgeschalteten Reverse-Proxy lässt sich eine URL mit diversen Servern im privaten Netzwerk verknüpfen. Dies bietet die Möglichkeit, eingehende Anfragen auf mehrere Server zu verteilen. Ein solches Load Balancing beugt der Überlastung einzelner Systeme vor und wirkt bei Ausfällen kompensierend. Ist ein Server aufgrund von Hardware- oder Software-Fehlern nicht erreichbar, verteilt das Load-Balancing-Modul des Proxys eingehende Anfragen auf verbleibende Server um. Die Verfügbarkeit von Serverdiensten wird so auch bei Ausfällen weiterhin sichergestellt.

Caching

Um die Geschwindigkeit von Serverdiensten zu beschleunigen, können Reverse-Proxys eine Funktion bieten, mit der sich häufig abgerufene Inhalte zwischenspeichern lassen. Dieses Caching ermöglicht dem Proxy-Server, sich wiederholende Anfragen entweder teilweise oder komplett selbst zu beantworten. Dabei werden statische Inhalte wie Bilder oder CSS-Stylesheets im Cache des Proxys vorgehalten. So müssen keine oder deutlich weniger Daten vom Backend-Server abgerufen werden, wodurch sich die Zugriffsrate auf Webdienste deutlich beschleunigt. Da bei Inhalten, die sich schnell ändern, nicht immer sichergestellt werden kann, dass der Cache des Proxys die aktuelle Version enthält, besteht jedoch die Gefahr, dass anfragende Clients veraltete Informationen ausgespielt bekommen.

Schutz- und Sicherheitsmaßnahmen

Ein Reverse-Proxy fungiert als eine Art Schutzschild für die Backend-Server und kann in dieser Rolle verschiedene Sicherheitsfunktionen bieten:

  • DDoS-Schutz: Reverse-Proxys können verdächtigen oder ungewöhnlich hohen Traffic im Rahmen von DDoS-Angriffen erkennen und blockieren, bevor er die Backend-Server erreicht.
  • Web-Application-Firewall (WAF): Viele Reverse-Proxys beinhalten eine WAF, die schädliche Anfragen wie SQL-Injections oder Cross-Site-Scripting (XSS) filtern kann.
  • IP-Whitelisting und -Blacklisting: Der Proxy kann bei Bedarf bestimmte IP-Adressen blockieren oder nur Verbindungen von bestimmten Netzwerken zulassen.
  • Verschleierung der Backend-Server: Der Proxy verhindert, dass die internen IP-Adressen der Backend-Server öffentlich sichtbar sind, was Angriffe erschwert.

Verschlüsselung

Um die Backend-Server zu entlasten, lassen sich Reverse-Proxy-Server auch zur Verschlüsselung einsetzen. In diesem Fall entschlüsselt er die SSL/TLS-Anfrage des Clients (z. B. eine HTTPS-Verbindung), leitet die entschlüsselten Daten an die Backend-Server weiter und sendet die jeweilige Antwort erneut verschlüsselt an den Client zurück. Die interne Kommunikation kann dabei sowohl unverschlüsselt als auch verschlüsselt stattfinden.

Anonymisierung

Ein Reverse-Proxy kann auch zur Anonymisierung des Traffics eingesetzt werden, indem er die Original-IP-Adressen der Clients maskiert oder durch eigene IP-Adressen ersetzt. Auf diese Weise lässt sich die Privatsphäre der Clients schützen, da die tatsächlichen IP-Adressen nicht in den Logs sichtbar werden. Zudem wird so Geo-Load-Balancing möglich: Anfragen lassen sich, abhängig vom geografischen Standort des Nutzers bzw. der Nutzerin, an den nächstgelegenen Server weiterleiten.

Kompression

Mit entsprechender Software ausgestattet lässt sich ein Reverse-Proxy zur Kompression eingehender und ausgehender Daten einsetzen. Ein beliebtes Programm zur Kompression von Websites ist gzip, das oft in Kombination mit den Webservern Apache oder NGINX zum Einsatz kommt.

Tipp

In separaten Artikeln erklären wir Ihnen Schritt für Schritt, wie Sie einen NGINX-Reverse-Proxy bzw. einen Apache-Reverse-Proxy einrichten.

War dieser Artikel hilfreich?
Page top