[[..:start|zurück]] ====== 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: * https://webmin.mash4077.dedyn.io ===== Voraussetzungen ===== * Webmin lokal installiert (z. B. über APT) * Traefik läuft als Docker-Container * Subdomain `webmin.mash4077.dedyn.io` zeigt 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) ===== ```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) ===== ```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. --- {{avatar>lars|Lars.Weiss@gmail.com?l|Lars Weiß}} //[[Lars.Weiss@gmail.com|Lars Weiß]] 11.06.2025 09:59//