Reverse Proxy

Ein Reverse Proxy nimmt Webanfragen von außen in ein lokales Netzwerk an und leitet sie weiter. Er schützt Webserver vor Hacker-Angriffen, verhindert Ausfälle von Webanwendungen und erhöht die Performance von Servern.

Der »umgekehrte« Proxy ist zunächst einmal eine Verbindung zwischen zwei Systemen. Er ist eine Netzwerkkomponente, die zwischen einem lokalen Netzwerk, wie dem Unternehmensnetzwerk, und dem öffentlichen Internet vermittelt.

Und so funktioniert diese Vermittlung:

Reverse Proxys arbeiten als interner Server und leiten eine Anfrage (einen sogenannten „Request“) aus dem Internet an den gewünschten Client im lokalen Unternehmensnetzwerk weiter. Unter einem Client versteht man jede Hardware oder Software, die Anfragen an einen Server senden kann. Auf diese Weise kontrolliert ein Reverse Proxy den Zugriff von außen auf ein internes Netzwerk.

In der Regel setzen Organisationen und Unternehmen Reverse Proxys ein, um ihre Netzwerke zu schützen. Aber Reverse Proxys werden auch mit dem Ziel implementiert, die Leistung und Zuverlässigkeit des Netzwerks und der Server zu verbessern.

Der kleine Unterschied: Proxy vs. Reverse Proxy

Ein Reverse Proxy hat eine ganz ähnliche Funktionsweise wie ein Forward Proxy. Allerdings werden beide zu unterschiedlichen Zwecken eingesetzt. Der Unterschied „Proxy – Reverse-Proxy“ lässt sich an einem einfachen Beispiel erklären:

So funktioniert ein Proxy

Ein lokales Netzwerk kann direkt mit dem Internet verbunden werden – oder man schaltet einen Server als Stellvertreter zwischen Netzwerk und Internet dazwischen: einen Proxy-Server. Ein Unternehmensnetzwerk besteht aus einer Vielzahl aus Computern der Mitarbeiter. Wenn ein Mitarbeiter zum Beispiel mit seinem Rechner (Client) im Internet surfen möchte, wird seine Anfrage zuerst an den Proxy im internen Netzwerk und dann vom Proxy an den Webserver im Internet gesendet. Auf diese Weise liest der Internet-Webserver nicht die IP-Adresse des Mitarbeiter-PCs, sondern die des Proxys. Oder einfach ausgedrückt: Der Proxy surft im Namen des Mitarbeiters im Internet. Ein VPN (virtuelles privates Netzwerk) ist zum Beispiel so ein Proxy-Server.

Der Reverse Proxy hingegen geht genau umgekehrt vor:

Er nimmt Anfragen von außen aus dem Internet an und leitet sie an ein Zielsystem im lokalen Netzwerk weiter. Das passiert beispielsweise, wenn Kunden eine Website eines Unternehmens besuchen oder in einem Online-Shop surfen. Die Kunden bzw. Endnutzer selbst kommunizieren aber nicht direkt mit den Websites oder Backend-Servern, sondern mit dem Reverse-Proxy-Server. Erst der Reverse Proxy leitet ihre Anfragen weiter.

Welche Arten von Reverse Proxys gibt es?

Obwohl alle Reverse Proxys ähnlich arbeiten, unterscheidet man zwei Arten in ihrer Funktion und Anwendung:

  • Standardmäßige Reverse Proxys: Dieser Reverse-Proxy-Typ wird als Vermittler zwischen Client und Server hauptsächlich als weitere Sicherheitsebene genutzt. Das ermöglicht eine anonyme Kommunikation, da die IP-Adressen der Clients verborgen werden. Der Reverse Proxy empfängt die Anfragen von den Clients, leitet sie an die Server weiter und gibt die Serverantworten dann an die Clients zurück.
  • Reverse Proxys für den Lastausgleich: Load Balancer (Lastenausgleich) sind eine Form von Reverse Proxys. Sie repräsentieren die Serverseite und verwalten mehrere Webserver. Wenn das Kommunikationsnetz mehrere Backend-Server hat, übernimmt der Load Balancer die Aufgabe, die Arbeitslast und den Datenverkehr gleichmäßig auf die Server zu verteilen. Dadurch können sie Ressourcen optimieren und die Verarbeitungszeit beschleunigen.

Welche Vorteile hat ein Reverse Proxy?

  1. Höhere Verfügbarkeit dank Lastverteilung und Caching
  2. Wenn Tausende oder Millionen von Nutzern pro Tag eine Website aufrufen, würde die Anzahl all dieser Anfragen einen einzigen Server überlasten. Dann treten Verzögerungen auf oder der Website-Server kann sogar ausfallen. Daher empfiehlt es sich, den Datenverkehr auf mehrere Server zu verteilen, um eine höhere Ausfallsicherheit zu ermöglichen. Diese Aufgabe übernimmt ein Reverse Proxy, der für einen Lastenausgleich (Load Balancing) sorgt. Website oder Online-Shop bleiben rund um die Uhr verfügbar, selbst dann, wenn einer der Server ausfallen sollte. Dann übernehmen einfach die anderen Server.

    Da ein Reverse Proxy auch dynamische und statische Inhalte einer Website zwischenspeichern kann, werden hier eine weitere Verteilung des Datenverkehrs und Reduzierung der Last auf dem Server erzielt. Das Caching von Inhalten sorgt dafür, dass eine Website oder ein Online-Shop schneller laden und reagieren.

  3. Höhere Sicherheit dank besserem Schutz vor Angriffen
  4. Da ein Reverse Proxy technisch gesehen vor einem internen Server geschaltet ist, ist er eine Art Schutzschirm für ein lokales Netzwerk. Denn er schirmt die Server ab, die hinter dem Reverse Proxy liegen. Dadurch, dass er die Anfragen von außen empfängt, wird die Identität der internen Server und Zielsysteme geheim gehalten. Das macht es Hackern und Angreifern schwer bis unmöglich, eine bestimmte IP-Adresse zu erkennen und nachzuverfolgen.

    In der Regel werden auch Virenscanner, Firewalls oder Paketfilter auf einem Reverse Proxy installiert. Das sorgt für eine weitere Sicherheitsebene für die Server und Clients im internen Netzwerk. Angriffe von außen können so noch effizienter abgewehrt werden.

  5. SSL-Verschlüsselung und Single Sign-on
  6. Als Stellvertreter kann ein Reverse Proxy auch Zertifikate hosten und die SSL-Verschlüsselung vornehmen. Dadurch wird der Webserver hinter dem Reverse Proxy entlastet. Der Reverse Proxy kann auch eingesetzt werden, um Nutzer für mehrere Backend-Server und Services zu authentifizieren. Der Vorteil: Mit nur einer Anmeldung kann ein Nutzer die Services mehrerer Server bequem nutzen.

Was ist ein Nginx Reverse Proxy?

Nginx ist ein Reverse Proxy, der die eingehenden Anfragen von Website-Besuchern entgegennimmt. Er übernimmt dabei zwei Aufgaben: Er sorgt für einen Lastenausgleich, indem er die Last der Anfragen auf mehrere Anwendungsserver hinter dem Nginx Reverse Proxy verteilt. Außerdem kann er mit Caching statische Dateien (Fotos, CSS oder JavaScript) zwischenspeichern und so den Anwendungsserver zusätzliche Entlastung bieten.

So installieren Sie Apache als Reverse-Proxy

Wenn Sie einen Reverse Proxy in Ihrem Netzwerk einrichten möchten, ist der Apache HTTP Server ideal geeignet. Er ist der weltweit am häufigsten genutzte Webserver für Reverse Proxys und dazu kostenlos. Darüber hinaus kann er durch Module ergänzt werden, die zusätzliche Funktionen bieten. Weitere beliebte Open-Source-Lösungen für Reverse Proxys sind Squid und Nginx. Beide werden meistens mit einem Apache HTTP Server betrieben.

Gehen Sie bei der Installation wie folgt vor:

  1. Bereiten Sie zuerst den Server vor und richten Sie den Apache Webserver ein.
  2. Installieren Sie das Modul »mod_proxy«. Dieses Modul umfasst die Basisfunktionen eines Reverse Proxys.
  3. Installieren Sie bei Bedarf weitere Module, wie z. B. das Modul »mod_cache« für Caching-Funktionen oder »mod_deflate« für eine Komprimierung.
  4. Aktivieren Sie dann die installierten Module. Nicht (mehr) benötigte Module können deaktiviert werden.
  5. Führen Sie anschließend einen Neustart des Apache HTTP Servers durch.
  6. Ersetzen Sie dann die Konfigurationsdatei »000-default.conf« durch eine Virtual-Host-Datei. Hinweis: Jeder Zielserver mit eigener IP-Adresse braucht eine eigene Virtual-Host-Datei.
  7. Definieren Sie schließlich die Regeln für die Proxy-Funktion.
  8. Aktivieren Sie im letzten Schritt die Konfiguration über das Terminal.

Die jeweiligen Befehle für diese Arbeitsschritte finden Sie in der frei verfügbaren Dokumentation der Apache Software Foundation für das Apache-Projekts »Apache HTTP Server«.


 zurück