Ein Reverse Proxy ist ein Server, der Anfragen aus dem Netz annimmt und an die Anwendung dahinter weitergibt. Nach außen tritt er als die Website auf; was dahinter läuft, bleibt verborgen. Fast jede größere Website hat einen davor.
- Reverse Proxy
Ein Server, der Anfragen annimmt und an die Anwendung dahinter weitergibt.
Beispiel: „Der Reverse Proxy nimmt die verschlüsselte Verbindung an und spricht nach hinten unverschlüsselt im eigenen Netz.“Verbreitet ist nginx in dieser Rolle, dazu Traefik und die Vorposten der CDN-Anbieter.
Abgrenzung zum gewöhnlichen Proxy: Der steht beim Nutzer und vermittelt dessen Anfragen nach außen. Der Reverse Proxy steht beim Anbieter und vermittelt fremde Anfragen nach innen.
Was ein Reverse Proxy übernimmt
Die Verschlüsselung, die Verteilung auf mehrere Anwendungsserver, einen Zwischenspeicher für gleiche Antworten und das Abfangen von Überlast. Jede dieser Aufgaben wäre in der Anwendung aufwendiger zu lösen.
Dazu kommt die Trennung der Zuständigkeiten. Das Zertifikat liegt an einer Stelle statt in jeder Anwendung, und eine neue Anwendung dahinter braucht kein eigenes.
Warum hinter einem Reverse Proxy die IP-Adresse fehlt
Weil die Anwendung als Gegenstelle den Proxy sieht. In den Server Logs steht dann für jeden Besucher dieselbe Adresse, und Sperren oder Statistiken gehen daneben.
Behoben wird das über ein zusätzliches Feld in der Anfrage, in dem der Proxy die ursprüngliche Adresse mitgibt. Die Anwendung muss dieses Feld auswerten, und sie darf es nur dem eigenen Proxy glauben.
Was ein Reverse Proxy nicht löst
Eine langsame Anwendung. Was der Zwischenspeicher nicht abdeckt, geht weiter nach hinten und dauert dort genauso lange wie vorher.
Dazu kommt ein zusätzlicher Teil, der ausfallen kann. Steht der Vorposten, ist die Website nicht erreichbar, auch wenn die Anwendung dahinter einwandfrei läuft.