Reverse Proxy

Ein Reverse Proxy ist ein Vermittlungsserver, der Anfragen im Auftrag eines oder mehrerer Server entgegennimmt, bevor sie an den eigentlichen, dahinterliegenden Server weitergeleitet werden.

Kurz erklärt

Ein Reverse Proxy steht aus Sicht des Clients an der Stelle des eigentlichen Zielservers - der Client kommuniziert scheinbar direkt mit ihm, tatsächlich reicht der Reverse Proxy die Anfrage aber an einen oder mehrere dahinterliegende Server weiter und gibt deren Antwort zurück. Der ursprüngliche Server bleibt für den Client dabei unsichtbar.

Beispiel

Ein Unternehmen betreibt mehrere Backend-Server, die alle über einen einzelnen Reverse Proxy erreichbar sind. Nutzer verbinden sich immer mit derselben, öffentlich sichtbaren Adresse; der Reverse Proxy entscheidet dahinter, an welchen konkreten Server eine Anfrage weitergeleitet wird.

Warum ist das relevant?

Reverse Proxys werden häufig eingesetzt, um Anfragen auf mehrere Server zu verteilen (siehe Load Balancer), TLS-Verschlüsselung zentral zu terminieren, Antworten zwischenzuspeichern oder interne Serverstrukturen und -adressen vor dem Internet zu verbergen. Verbreitete Software wie nginx oder HAProxy wird sehr häufig genau in dieser Rolle eingesetzt.

Häufige Missverständnisse

Ein Reverse Proxy ist kein Load Balancer im engeren Sinne, auch wenn beide Rollen oft von derselben Software übernommen werden - ein Load Balancer verteilt Anfragen speziell zur Lastverteilung auf mehrere gleichwertige Server, während ein Reverse Proxy allgemeiner Anfragen im Auftrag eines oder mehrerer Server entgegennimmt und dabei zusätzliche Aufgaben wie Caching oder TLS-Terminierung übernehmen kann. Auch verwechseln viele Reverse Proxy und (Forward-)Proxy: Ein Reverse Proxy schützt und vermittelt für einen Server, ein klassischer Proxy für einen Client.

Weiterführende Inhalte