Caddy Reverse Proxy unter Linux/Ubuntu: HTTPS automatisch | ComputeBox
Self-Hosting
Reverse Proxy mit Caddy: automatisches HTTPS einrichten
Caddy stellt deine Dienste unter einer Domain bereit und kümmert sich vollautomatisch um HTTPS. So richtest du einen Reverse Proxy mit Let's-Encrypt-Zertifikat ein.
Docker und Docker Compose unter Linux/Ubuntu installieren
Sobald du mehr als einen Dienst betreibst oder eine ordentliche Adresse mit HTTPS willst, brauchst du einen Reverse Proxy. Er nimmt Anfragen auf Port 80 und 443 entgegen und leitet sie an den richtigen Dienst weiter. Caddy ist dafür ideal, denn es besorgt und erneuert die TLS-Zertifikate vollautomatisch über Let's Encrypt. Diese Anleitung richtet Caddy ein und stellt deinen ersten Dienst unter einer Domain bereit.
10 minFortgeschrittenGetestet auf Ubuntu 24.04Aktualisiert 2026-06-18
Kurzfassung
Caddy installieren, im Caddyfile deine Domain auf den lokalen Dienst zeigen lassen, neu laden. Das HTTPS-Zertifikat holt Caddy von allein.
Statt jeden Dienst direkt ins Internet zu stellen, läuft alles über eine zentrale Stelle. Der Reverse Proxy entscheidet anhand der Domain, an welchen Dienst eine Anfrage geht, und verschlüsselt die Verbindung. So erreichst du zum Beispiel app.example.com und cloud.example.com über denselben Server, sauber getrennt und jeweils mit HTTPS.
Du brauchst eine Domain, deren DNS auf deinen Server zeigt. Leg dafür einen A-Record an, der auf deine IPv4 verweist. Außerdem müssen die Ports 80 und 443 offen sein, denn über Port 80 prüft Let's Encrypt deine Domain:
Beim ersten Aufruf deiner Domain holt Caddy automatisch ein Zertifikat und schaltet auf HTTPS um. Öffne https://example.com, deine Seite ist verschlüsselt erreichbar, ganz ohne manuelles Zertifikats-Handling.
Für weitere Dienste hängst du einfach weitere Blöcke an:
Jede Subdomain bekommt ihr eigenes Zertifikat, automatisch.
Caddy auch im Container
Du kannst Caddy ebenso als Docker-Container betreiben. Läuft Caddy nativ auf dem Host wie hier, zeigt reverse_proxy direkt auf den veröffentlichten Port deiner Container, etwa localhost:8080. Das ist für den Einstieg der einfachste Weg.