Inhaltsverzeichnis

zurück

Traefik Reverse Proxy Setup mit Let's Encrypt

📅 Stand: 2025-05-27


🔧 Zielsetzung

Ein Reverse-Proxy mit Traefik in Docker soll mehrere interne Dienste über Subdomains erreichbar machen.
Dabei übernimmt Traefik:


⚙️ Setup-Details

🌐 Subdomains (über `dedyn.io`)

Dienst Subdomain Zielintern (HTTP)
—————-———————————–——————————-
Portainer portainer.xxxxxx.dedyn.io Docker-Port 9000
Traefik-Dashboard traefik.xxxxxx.dedyn.io Interner Dienst (api@internal)
Pi-hole pihole.xxxxxx.dedyn.io http://192.168.xxx.xxx/admin
DokuWiki wiki.xxxxxx.dedyn.io http://192.168.xxx.xxx/dokuwiki/
phpMyAdmin phpmyadmin.xxxxxx.dedyn.io http://192.168.xxx.xxx/phpmyadmin
Webroot web.xxxxxx.dedyn.io http://192.168.xxx.xxx/index.php

📁 Relevante Dateien

docker-compose.yml

traefik.yml

snippet.yaml
log:
  level: INFO

api:
  dashboard: true

entryPoints:
  web:
    address: ":80"
  websecure:
    address: ":443"

providers:
  docker:
    exposedByDefault: false
  file:
    filename: /etc/traefik/dynamic.yml
    watch: true

certificatesResolvers:
  le:
    acme:
      email: user@Email.de
      storage: /letsencrypt/acme.json
      httpChallenge:
        entryPoint: web

dynamic.yml

Beispiel für Pi-hole:

snippet.yaml
pihole:
  rule: "Host(`pihole.xxxxxx.dedyn.io`)"
  entryPoints:
    - websecure
  tls:
    certResolver: le
  service: pihole-svc
  middlewares:
    - pihole-redirect

ACME-HTTP-Router:

snippet.yaml
acme-http:
  rule: "PathPrefix(`/.well-known/acme-challenge/`)"
  entryPoints:
    - web
  service: noop
  priority: 100

Dummy-Service:

snippet.yaml
noop:
  loadBalancer:
    servers:
      - url: "http://127.0.0.1"

🛡️ Zertifikate (Let's Encrypt)

Traefik vergibt „TRAEFIK DEFAULT CERT“ nur, wenn: - Port 80 blockiert ist - keine Challenge erfolgreich - kein Zertifikat gecached


🧼 Apache-Backend-Server (192.168.178.89)

Wichtig: - HTTPS auf Apache deaktiviert (a2dissite default-ssl.conf) - Nur HTTP (Port 80) aktiviert - Keine Redirects von HTTP → HTTPS im Apache


🔁 Probleme und Lösungen

Problem Ursache Lösung
——————————-——————————————-———————————————-
TRAEFIK DEFAULT CERT Zertifikat nicht erfolgreich angefordert ACME-Router eingebaut, HTTP erreichbar gemacht
404 bei /dokuwiki Root-Pfad falsch Middleware redirectRegex eingebaut
Browser zeigt „nicht sicher“ Browser-Cache / HSTS chrome://net-internals/#hsts + löschen

✅ Fazit


Lars.Weiss@gmail.com?l|Lars Weiß Lars Weiß 27.05.2025 12:55