Reverse Proxy

From
Revision as of 11:25, 25 September 2006 by Hilbrich (talk | contribs) (→‎Einleitung)
Jump to navigation Jump to search

Einleitung

Zielstellung

Ziel war der Aufbau eines Reverse Proxy Servers, der in der Lage ist, verschiedene Webserver zu konsolidieren und in einem virtuellen Serverbaum darzustellen. Wesentlicher Aspekt dabei war die Fähigkeit zum Modifizieren von Links in angefragten HTML Dokumenten, sowie Cookie-Domain-Angaben und ggf. auch Fehlerausschriften.

Was ist ein Proxy?

Ein Proxy Server ist ein Dienst, der sich als Vermittler zwischen die klassischen Client-Server-Kommunikationsprotokolle setzen kann und damit mindestens zwei Client-Server-Verbindungen realsiert. Die bekanntesten Proxy Server sind Caching Proxy Server für HTTP Anfragen an das Internet. Ein Kunde eines Internet Service Providers, der dessen HTTP Proxy benutzt, schickt alle HTTP Anfragen nicht direkt an das Internet, sondern nur an den Proxy des Providers. Dieser guckt zunächst in seinem Cache nach, ob dieselbe Anfrage schon einmal gestellt wurde und die HTTP Antwort immer noch aktuell ist. Wenn ja, wird die Antwort aus dem Cache an den Client zurückgegeben und so unnötiger Verkehr im Internet vermieden. Ist die Antwort noch nicht in dessen Cache vorhanden, so initiiert der Proxy eine HTTP Anfrage an das eigentliche Ziel, speichert die Antwort im Cache ab und gibt sie zugleich an den Kunden zurück. Auf diese Weise agiert der HTTP Proxy als Mittler zwischen dem Browser auf dem PC des Kunden und dem Webserver im Internet.

Forward und Reverse Proxy

Es gibt nun ganz unterschiedliche Arten von Proxy Servern. Kategorisiert man nach der Topologie, in der sich der Proxy befindet, so lassen sich zwei Proxy Arten unterscheiden: Forward und Reverse Proxy.