Reverse Proxy im Homelab: HTTPS, Domains und interne Dienste richtig aufbauen

Ein Reverse Proxy gehört für mich zu den wichtigsten Bausteinen in einer Self-Hosting-Umgebung. Statt für jeden Dienst einen eigenen Port nach außen zu öffnen, können Anwendungen über eigene Hostnamen wie git.example.de oder cloud.example.de erreichbar gemacht werden.
Was ein Reverse Proxy übernimmt
Der Reverse Proxy nimmt HTTP- oder HTTPS-Anfragen entgegen und leitet sie an den passenden internen Dienst weiter. Dadurch lassen sich mehrere Anwendungen über dieselbe öffentliche IP-Adresse betreiben, während intern unterschiedliche Hosts und Ports verwendet werden.
DNS und Reverse Proxy gehören zusammen
Damit ein Hostname funktioniert, muss DNS zunächst auf die Adresse zeigen, unter der der Reverse Proxy erreichbar ist. Erst danach entscheidet der Proxy anhand des Hostnamens, welches Backend angesprochen wird.
HTTPS zentral verwalten
Ein großer Vorteil ist die zentrale TLS-Verwaltung. Zertifikate können am Reverse Proxy terminieren, während interne Dienste je nach Umgebung weiterhin über HTTP oder ebenfalls verschlüsselt angesprochen werden.
Typischer Fehler: Proxy erreichbar, Backend nicht
Wenn Browser und Reverse Proxy funktionieren, der Zielhost aber nicht erreichbar ist, liegt das Problem häufig am Upstream. Mögliche Ursachen sind ein gestoppter Dienst, eine geänderte IP-Adresse, ein falscher Port, eine Firewall-Regel oder ein falsches Protokoll zwischen Proxy und Backend.
Genau deshalb teste ich bei solchen Fehlern zuerst den internen Dienst direkt vom Proxy-Host aus. Wenn beispielsweise curl http://backend:3000 bereits scheitert, liegt der Fehler nicht am öffentlichen DNS oder Zertifikat.
Interne Dienste nicht unnötig exponieren
Wenn ein Dienst ausschließlich über den Reverse Proxy erreichbar sein soll, muss dessen Anwendungsport nicht zusätzlich öffentlich freigegeben werden. Das reduziert die Angriffsfläche und hält die Infrastruktur übersichtlicher.
Monitoring hilft bei der Fehlersuche
Ein Reverse Proxy ist ein zentraler Punkt der Infrastruktur. Logs und Healthchecks sollten deshalb zeigen können, ob ein Backend erreichbar ist und wie lange Anfragen benötigen.
Mehr zu meiner Infrastruktur findest du unter Homelab & Self-Hosting sowie im Beitrag Docker im Homelab.
Passende Homelab Guides
Docker im Homelab · Gitea selbst hosten · Homelab & Self-Hosting Einstieg · Homelab Übersicht