SEO sichere Weiterleitungen für Traefik 3

:repeat_button: Beispiel: Weiterleitungs-Container mit Traefik (301 Redirect)

Möchtest du eine Domain oder Subdomain per Traefik automatisch auf eine andere Adresse umleiten – inkl. HTTPS-Support und sauberem 301 Redirect?
Hier zeige ich dir eine minimalistische und dennoch vollständige Lösung – mit Beispiel-Domains und Erklärung.


:package: Ziel dieses Setups

Ein Docker-Container mit Dummy-Service, der nur zur Weiterleitung dient. Traefik übernimmt alles:

  • :white_check_mark: 301-Weiterleitung von alt-beispiel.de auf neue-seite.de
  • :white_check_mark: Unterstützt sowohl HTTP (:80) als auch HTTPS (:443)
  • :white_check_mark: Nutzt Traefik-Middleware mit regulärem Ausdruck (Regex)

:brick: Beispiel docker-compose.yml

version: "3.8"

services:
  redirect-example:
    image: traefik/whoami  # Dummy-Service, Traefik übernimmt das Routing
    container_name: redirect-example
    labels:
      - traefik.enable=true

      # 📶 HTTPS Redirect
      - traefik.http.routers.redirect-from-https.rule=Host(`alt-beispiel.de`)
      - traefik.http.routers.redirect-from-https.entrypoints=websecure
      - traefik.http.routers.redirect-from-https.tls=true
      - traefik.http.routers.redirect-from-https.tls.certresolver=http_resolver
      - traefik.http.routers.redirect-from-https.middlewares=redirect-to-neueseite@docker

      # 🌐 HTTP Redirect
      - traefik.http.routers.redirect-from-http.rule=Host(`alt-beispiel.de`)
      - traefik.http.routers.redirect-from-http.entrypoints=web
      - traefik.http.routers.redirect-from-http.middlewares=redirect-to-neueseite@docker

      # 🔁 Redirect Middleware
      - traefik.http.middlewares.redirect-to-neueseite.redirectregex.regex=^https?://alt-beispiel.de/(.*)
      - traefik.http.middlewares.redirect-to-neueseite.redirectregex.replacement=https://neue-seite.de/$$1
      - traefik.http.middlewares.redirect-to-neueseite.redirectregex.permanent=true

      # 🌐 Netzwerk
      - traefik.docker.network=proxy

    networks:
      - proxy

networks:
  proxy:
    external: true

:hammer_and_wrench: Voraussetzungen

Damit das Ganze funktioniert, brauchst du Folgendes:

  • :brain: Ein laufender Traefik-Container, der web und websecure EntryPoints bereitstellt
  • :locked_with_key: Ein funktionierender TLS-Zertifikatsresolver (z. B. http_resolver oder tls)
  • :globe_with_meridians: Ein existierendes Docker-Netzwerk proxy, das Traefik mit diesem Container teilt

:pushpin: Was passiert hier genau?

Funktion Erklärung
Dummy-Service Das whoami-Image wird genutzt, aber Traefik macht die ganze Arbeit
Middleware Regex-Middleware leitet alle Pfade an neue Domain weiter
301 Permanent Redirect Browser und Suchmaschinen speichern die Umleitung
HTTP + HTTPS Weiterleitungen funktionieren sowohl über Port 80 als auch 443
Netzwerk Der Container nutzt das externe proxy-Netzwerk für die Traefik-Anbindung

:speech_balloon: Tipp:
Du kannst den Dummy-Service auch durch ein beliebiges leichtgewichtiges Image ersetzen (z. B. nginx:alpine), solange die Labels korrekt gesetzt sind.
Dieser Container hat nur eine Aufgabe: Traefik die Weiterleitung ermöglichen.