Was ist ein Reverse Proxy?
Ein Reverse Proxy ist ein Server der zwischen dem Internet und deinen internen Diensten sitzt. Er nimmt eingehende Anfragen entgegen und leitet sie an den richtigen Dienst weiter — basierend auf der Domain oder dem Pfad.
Das klingt kompliziert, ist aber für Self-Hosting unverzichtbar: Ohne Reverse Proxy musst du für jeden Dienst einen anderen Port aufrufen (server:8080, server:8443). Mit Reverse Proxy erreichst du alles über sprechende Domains wie nextcloud.meinedomain.de oder jellyfin.meinedomain.de.
Was macht ein Reverse Proxy genau?
| Funktion | Beschreibung |
|---|---|
| Domain-Routing | Leitet verschiedene Domains/Subdomains an verschiedene Dienste |
| SSL/TLS (HTTPS) | Verschlüsselt den Datenverkehr, verwaltet Let’s Encrypt-Zertifikate |
| Load Balancing | Verteilt Last auf mehrere Server-Instanzen |
| Caching | Speichert häufige Antworten zwischen für bessere Performance |
| Zugriffsschutz | IP-Whitelist, Basic Auth, Rate Limiting |
Die beliebtesten Reverse-Proxy-Lösungen
| Tool | Besonderheit | Ideal für |
|---|---|---|
| Nginx Proxy Manager | Web-UI, einfach zu bedienen | Einsteiger, Heimlabore |
| Traefik | Automatische Docker-Integration | Docker-Heavy-Setups |
| Caddy | Automatisches HTTPS, einfache Config | Einfache Setups, VPS |
| Nginx (klassisch) | Maximale Kontrolle | Fortgeschrittene, Produktion |
| Coolify | Reverse Proxy integriert | Managed Self-Hosting |
Nginx Proxy Manager — Schnellstart
Der einfachste Einstieg für Heimlabore ist Nginx Proxy Manager (NPM). Per Docker Compose starten:
version: '3'
services:
npm:
image: jc21/nginx-proxy-manager:latest
ports:
- "80:80"
- "443:443"
- "81:81" # Web-UI
volumes:
- npm_data:/data
- npm_letsencrypt:/etc/letsencrypt
volumes:
npm_data:
npm_letsencrypt: Danach erreichst du die Web-Oberfläche auf Port 81. Dort trägst du deine Domains ein und NPM holt automatisch Let’s Encrypt-Zertifikate für HTTPS.