Inhaltsverzeichnis
Webmin hinter Traefik mit Let's Encrypt einbinden
Diese Anleitung beschreibt, wie Webmin direkt auf dem Hostsystem betrieben und ĂĽber Traefik mit Subdomain und HTTPS bereitgestellt wird. Ziel ist der Zugriff ĂĽber:
Voraussetzungen
- Webmin lokal installiert (z. B. über APT)
- Traefik läuft als Docker-Container
- Subdomain
webmin.mash4077.dedyn.iozeigt per DNS auf den Host - Zertifikate ĂĽber Let's Encrypt (
certResolver: le) - Port 10000 ist lokal erreichbar
1. Webmin SSL deaktivieren
Standardmäßig läuft Webmin mit eigenem SSL. Dies muss deaktiviert werden, da Traefik die Verschlüsselung übernimmt.
Datei bearbeiten:
sudo nano /etc/webmin/miniserv.conf
Ändere:
ssl=1
Zu:
ssl=0
Optional nur auf localhost lauschen:
listen=127.0.0.1
Dann Webmin neu starten:
sudo systemctl restart webmin
2. Traefik statische Konfiguration (traefik.yml)
- snippet.yaml
entryPoints: web: address: ":80" websecure: address: ":443" certificatesResolvers: le: acme: email: dein@beispiel.de storage: /letsencrypt/acme.json httpChallenge: entryPoint: web providers: file: filename: /etc/traefik/dynamic.yml watch: true http: middlewares: redirect-to-https: redirectScheme: scheme: https permanent: true
3. Traefik dynamische Konfiguration (dynamic.yml)
- snippet.yaml
http: routers: webmin: rule: "Host(`webmin.mash4077.dedyn.io`)" entryPoints: - web middlewares: - redirect-to-https service: webmin webmin-secure: rule: "Host(`webmin.mash4077.dedyn.io`)" entryPoints: - websecure tls: certResolver: le service: webmin services: webmin: loadBalancer: servers: - url: "http://192.168.178.96:10000"
Die IP 192.168.178.96 ist die Adresse des Hosts, auf dem Webmin läuft.
4. Neustart von Traefik
docker compose restart traefik
5. Test und Aufruf
Webbrowser öffnen:
https://webmin.mash4077.dedyn.io
→ Die Seite sollte jetzt über HTTPS mit gültigem Zertifikat erreichbar sein.
6. Optional: Zugriff absichern
• Zugang nur aus LAN oder VPN • Basic Auth Middleware hinzufügen • Webmin auf 127.0.0.1 beschränken (siehe oben)
Fehlerbehebung
Webmin leitet weiter auf Port 10000
→ Ursache: SSL in Webmin noch aktiv → ssl=0 setzen und Webmin neu starten.
Kein Zertifikat ausgestellt
→ Prüfe docker logs traefik auf DNS- oder Let’s Encrypt-Probleme
404 oder Connection refused
→ Stelle sicher, dass Webmin lokal unter Port 10000 erreichbar ist und IP stimmt.
Lars WeiĂź 11.06.2025 09:59