Site icon bintorosoft.com

Traefik + Let’s Encrypt: HTTPS automatisch für alle Container

Penguin with glasses and a surprised look on his face is looking at a laptop on white background.

Traefik ist ein moderner Reverse Proxy, der die automatische Bereitstellung von HTTPS-Zertifikaten über Let’s Encrypt unterstützt. Mit Docker Compose lässt sich Traefik so konfigurieren, dass alle containerisierten Services automatisch sichere Routen erhalten, ohne dass manuell Zertifikate hinterlegt werden müssen. Dieses Tutorial zeigt Schritt für Schritt, wie Traefik und Let’s Encrypt auf Linux mit Docker Compose eingerichtet werden, inklusive persistenter Volumes, Netzwerke und automatischer Zertifikatserneuerung.

Grundkomponenten des Traefik + Let’s Encrypt Setups

Das Setup besteht aus folgenden Komponenten:

Volumes für Persistenz

Persistente Volumes stellen sicher, dass Konfigurationen und SSL-Zertifikate auch nach Container-Neustarts erhalten bleiben.

volumes:
  traefik_config:
  traefik_certificates:
  traefik_logs:

Netzwerke für interne Kommunikation

Ein separates Netzwerk sorgt für sichere interne Kommunikation zwischen Traefik und den containerisierten Services.

networks:
  web_proxy_net:

Beispiel: docker-compose.yml für Traefik mit Let’s Encrypt

version: '3.8'

services:
traefik:
image: traefik:v2.12
container_name: traefik
restart: unless-stopped
command:
- "--api.insecure=false"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.lets-encrypt.acme.httpchallenge=true"
- "--certificatesresolvers.lets-encrypt.acme.httpchallenge.entrypoint=web"
- "--certificatesresolvers.lets-encrypt.acme.email=admin@example.com"
- "--certificatesresolvers.lets-encrypt.acme.storage=/certificates/acme.json"
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- traefik_config:/etc/traefik
- traefik_certificates:/certificates
- traefik_logs:/logs
networks:
- web_proxy_net

Labels für automatische HTTPS-Routen

Um einen Service über Traefik mit automatischem HTTPS auszustatten, müssen Labels gesetzt werden:

services:
  whoami:
    image: containous/whoami
    container_name: whoami
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.whoami.rule=Host(`whoami.example.com`)"
      - "traefik.http.routers.whoami.entrypoints=web,websecure"
      - "traefik.http.routers.whoami.tls.certresolver=lets-encrypt"
    networks:
      - web_proxy_net

Start und Verwaltung des Traefik-Stacks

Starten Sie Traefik und die Services mit:

docker-compose up -d

Zum Stoppen und Entfernen aller Container, Netzwerke und Volumes:

docker-compose down -v

Best Practices

Praxisbeispiele

Traefik starten

docker-compose up -d

Logs überwachen

docker-compose logs -f traefik

Neuen Service hinzufügen

docker-compose up -d whoami

Updatefähigkeit

Versionierte Docker Images ermöglichen unkomplizierte Updates von Traefik, während Volumes und Zertifikate unverändert bleiben. Backups der acme.json und Konfigurationen stellen sicher, dass automatische HTTPS-Zertifikate nach Updates weiterhin funktionieren.

docker-compose pull
docker-compose up -d

Zusammenfassung

Mit Docker Compose lässt sich Traefik mit Let’s Encrypt schnell, sicher und automatisch konfigurierbar auf Linux betreiben. Persistente Volumes, interne Netzwerke, Labels und automatische Zertifikate sorgen für Wartbarkeit, Sicherheit und Updatefähigkeit. Versionierte Images erleichtern Updates und Rollbacks und ermöglichen eine stabile Infrastruktur für containerisierte Services mit HTTPS.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version