Wie ein Reverse Proxy funktioniert, ist doch klar?
Ein Proxy holt gewöhlich Resourcen mehrerer Clients, bspw aus einem Netz, von einem Zielserver ab.
Damit bleiben die IPs der Clients "hinter" dem Proxy versteckt und dieser kommuniziert letztlich mit dem Server.
Ein Anwendungsszenario wäre etwa ein Unternehmen mit mehreren Mitarbeitern.
Keiner der Mitarbeiter kommt direkt mit seinem Terminal ins Internet, sondern muss über den Proxy eine Verbindung zum Internet aufbauen.
Dieser kann dann etwa Firewalldienste, aber auch weitere Spielchen vornehmen, bevor Traffic ins Netz bzw zurück kommt.
Zum Beispiel könnte der Traffic von bzw zu facebook, von Ad-Services oder von bzw. zu youporn vom Proxy gefiltert werden.
Ein Reverse Proxy geht genau den anderen Weg. Da Kommuniziert der Nutzer mit einem Proxy, der wiederum die Anfragen an einen oder mehrere Server weiterleitet.
Nach außen hin bleibt gegenüber dem Client die IP bzw. IPs des oder der Server verborgen.
Ein analoges Anwendungsszenario sieht ganz ähnlich aus. Wir haben wieder ein Unternehmen, dieses mal stehen statt der Terminals verschiedene Server im Unternehmen.
Keiner der Server ist direkt mit dem Internet verbunden, sondern alle Server sind hinter dem Reverse Proxy
versteckt.
Möchte von außen jemand auf den Datenbankserver zugreifen, wird er schlicht und ergreifend auf den Proxy zugreifen. Dieser erkennt, anhand der Pakete (Port, Pakettyp/-inhalt), dass es sich um Traffic für den Datenbankserver handelt und wird diese ggf. weiterleiten.
Der Proxy kann dann auch wieder intelligent Traffic filtern. Etwa wird er keine ssh-Verbindungen zu/ durch lassen, weil klar ist, von Außen soll das keiner machen dürfen.
Außerdem kann er Anfragen cachen, um die hinter ihm liegenden Server zu entlasten. Stell dir etwa vor, der Datenbankserver wäre der von amazon und müsste für jeden Kunden erneut die Angabote des Tages zusammenstellen. Im vereinfachten Fall muss also für jeden Kunden exakt die gleiche Operation ausgeführt werden. Was jedes mal, auf dem Datenbankserver eine enorme Last verursacht. Im vereinfachten Fall erkennt der Reverseproxy, dass es hier sinnvoll ist zu cachen und speichert sich das Ergebnis. Die erste Anfrage wird also "normal" an den Datenbankserver weitergeleitet (und das Ergebnis gespeichert). Alle weiteren Anfragen werden über eine gewisse Zeit vom Proxy geschluckt und er antwortet direkt mit dem gecachten Ergebnis. [Was bei Amazon natürlich nicht ganz stimmt, da da die gleiche Anfrage zweier Kunden nicht zum gleichen Ergebnis führen muss. Aber es sollte nur das Prinzip verdeutlichen.]
Mit Reverseproxys kann man noch viele andere Späßchen machen (Single Sign-on, SSL-Beschleunigung, Lastenverteilung). Auf Wikipedia gibt es dazu einen recht ausführlichen, schön geschriebenen Beitrag:
Reverse Proxy @ Wikipedia
Technisch gesehen ist ein Reverse Proxy allerdings auch nur ein normaler Proxy, der aber entsprechend konfiguriert wird.