Ein Reverse-Proxy schützt Webserver vor Angriffen und kann Vorteile bei Performance und Zuverlässigkeit bringen. Erfahren Sie mehr über Weiterleitungsproxys und Reverse-Proxys.
Nach Lektüre dieses Artikels können Sie Folgendes:
Ähnliche Inhalte
Was ist ein CDN-Rechenzentrum?
Was ist Anycast?
Was ist ein Ursprungsserver?
Cache-Steuerung
SSL/TLS-Sicherheit durch CDNs
Abonnieren Sie theNET und erhalten Sie monatlich die meistdiskutierten Internet-Insights von Cloudflare.
Link zum Artikel kopieren
Ein Reverse-Proxy ist ein Server, der vor Webservern sitzt und Anfragen von Clients (z. B. Webbrowsern) an diese Webserver weiterleitet. Reverse-Proxys werden gewöhnlich implementiert, um Sicherheit, Performance und Zuverlässigkeit zu erhöhen. Um besser zu verstehen, wie ein Reverse-Proxy funktioniert und welche Vorteile er bieten kann, wollen wir zuerst definieren, was ein Proxyserver ist.
Ein Weiterleitungsproxy, oft als Proxy, Proxyserver oder Webproxy bezeichnet, ist ein Server, der vor einer Gruppe von Clientgeräten sitzt. Wenn diese Geräte Anfragen an Websites und Dienste im Internet stellen, nimmt der Proxyserver diese Anfragen entgegen und kommuniziert dann im Auftrag dieser Clients ähnlich einem Vermittler mit den Webservern.
Sehen wir uns zum Beispiel drei Computer an, die in einer typischen Kommunikation mit einem Weiterleitungsproxy eingebunden sind:
Bei einer Standardkommunikation im Internet würde sich Computer A direkt an Computer C wenden, wobei der Client Anfragen an den Ursprungsserver sendet und der Ursprungsserver dem Client antwortet. Wenn ein Weiterleitungsproxy eingerichtet ist, sendet A stattdessen Anfragen an B, der die Anfrage dann an C weiterleitet. C sendet daraufhin eine Antwort an B, der sie zurück zu A weiterleitet.
Warum würde irgendjemand diesen zusätzlichen Vermittler zu seiner Internetaktivität hinzufügen? Es gibt einige Gründe, warum man einen Weiterleitungsproxy verwenden sollte:
Ein Reverse-Proxy ist ein Server, der vor einem oder mehr Webservern sitzt und Anfragen von Clients abfängt. Das ist anders als bei einem Weiterleitungsproxy, der vor den Clients sitzt. Wenn ein Reverse-Proxy verwendet wird und Clients Anfragen an den Ursprungsserver einer Website senden, werden diese Anfragen vom Reverse-Proxyserver an der Netzwerk-Edge abgefangen. Der Reverse-Proxyserver sendet die Anfragen dann an den Ursprungsserver und empfängt Antworten von ihm.
Der Unterschied zwischen einem Weiterleitungsproxy und einem Reverse-Proxy ist gering im Aufbau, aber entscheidend in der Funktion. Vereinfacht ausgedrückt lässt er sich so zusammenfassen: Ein Weiterleitungsproxy sitzt vor einem Client und sorgt dafür, dass kein Ursprungsserver jemals direkt mit diesem speziellen Client kommuniziert. Dagegen sitzt ein Reverse-Proxy vor einem Ursprungsserver und sorgt dafür, dass kein Client jemals direkt mit diesem Ursprungsserver kommuniziert.
Wir wollen dieses Konzept wieder anhand der beteiligten Computer veranschaulichen:
Gewöhnlich würden alle Anfragen von D direkt an F gehen, und F würde Antworten direkt an D senden. Wenn ein Reverse-Proxy verwendet wird, gehen alle Anfragen von D direkt an E, und E sendet seine Anfragen weiter an F und empfängt Antworten von F. Dann leitet E die entsprechenden Antworten weiter an D.
Im Folgenden beschreiben wir einige der Vorteile eines Reverse-Proxys:
Manche Unternehmen bauen ihre eigenen Reverse-Proxys, aber dafür sind aufwendige Software- und Hardware-Engineering-Ressourcen sowie beträchtliche Investitionen in physische Hardware erforderlich. Eine der einfachsten und kostengünstigsten Methoden, um von allen Vorteilen eines Reverse-Proxys zu profitieren, besteht darin, sich für einen CDN-Dienst anzumelden. Zum Beispiel bietet das Cloudflare-CDN alle oben aufgeführten Performance- und Sicherheitsmerkmale und noch viele andere dazu.
Ein Reverse-Proxy ist ein Server, der vor einem oder mehreren Webservern sitzt, um Anfragen von Clients abzufangen und weiterzuleiten. Er fungiert als Vermittler, der sicherstellt, dass kein Client direkt mit dem Ursprungsserver kommuniziert.
Ein Forward-Proxy sitzt vor den Clients (Benutzern), um deren Anfragen an das Internet weiterzuleiten. Im Gegensatz dazu sitzt ein Reverse-Proxy vor den Servern, um den eingehenden Traffic aus dem Internet zu verwalten.
[Bild zum Vergleich der Forward-Proxy- mit der Reverse-Proxy-Architektur]Bei Websites mit hohem Traffic kann ein Reverse-Proxy als Load Balancer fungieren, indem er eingehende Anfragen gleichmäßig auf einen Pool aus mehreren Ursprungsservern verteilt. Dies verhindert, dass ein einzelner Server überlastet wird, und stellt sicher, dass die Website auch dann verfügbar bleibt, wenn ein Server ausfällt.
Durch die Verwendung eines Reverse-Proxys muss eine Website niemals die tatsächliche IP-Adresse ihrer Ursprungsserver preisgeben. Dadurch wird es für Angreifer erheblich schwerer, gezielte Angriffe wie DDoS-Angriffe gegen die Quelle zu starten. Stattdessen wickelt der Proxy den Traffic ab und kann seine speziellen Ressourcen zur Abwehr von Cyberbedrohungen nutzen.
Ein Reverse-Proxy kann Kopien von Website-Inhalten an Orten, die den Benutzern näher liegen, im Cache speichern. Wenn beispielsweise ein Benutzer in Chicago auf eine in London gehostete Website zugreift, kann ein lokaler Reverse-Proxy in Chicago die Daten speichern. Künftige Besucher aus der gleichen Region können die Inhalte dann direkt von diesem lokalen Proxy empfangen, was die Ladezeiten erheblich reduziert.
GSLB ist eine Performance-Optimierung, bei der ein Reverse-Proxy den Benutzer zu dem Webserver leitet, der ihm geografisch am nächsten ist. Indem die physische Entfernung, die die Daten zwischen dem Client und dem Server zurücklegen müssen, minimiert wird, reduziert der Proxy die Latenzzeit und beschleunigt das Benutzererlebnis.
Das Verschlüsseln und Entschlüsseln von SSL/TLS-Kommunikationen kann eine aufwendige Aufgabe für einen Ursprungsserver sein. Ein Reverse-Proxy kann diese Verantwortung übernehmen, indem er die Entschlüsselung eingehender Anfragen und die Verschlüsselung ausgehender Antworten übernimmt. Durch diesen Prozess wird wertvolle Rechenleistung freigesetzt, damit sich der Ursprungsserver auf andere Aufgaben konzentrieren kann.