Docker Traefik Middleware Error Fallback

Aus Xinux Wiki
Version vom 20. Februar 2023, 07:48 Uhr von Mario.zimmermann (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „=Was ist damit gemeint?= *Wenn eine falsche subdomain eingegeben wird, landet man auf der Standard "404 not found" Seite [[Datei:Traefik-Error-Fallback1.png]…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Was ist damit gemeint?

  • Wenn eine falsche subdomain eingegeben wird, landet man auf der Standard "404 not found" Seite

Traefik-Error-Fallback1.png

  • Mit diesem Error Fallback Container, können wir entweder eine eigene "404 not found" Seite anzeigen oder eine andere Application aufrufen.

Traefik-Error-Fallback2.png

Docker Stack File

version: '3.7'
networks:
  traefik-public:
    driver: overlay
    external: true
services:
  404-Nginx:
    image: tarampampam/error-pages
    networks:
      - traefik-public
    deploy:
     labels:
      - com.ouroboros.enable=true
      - "traefik.enable=true"
      - "traefik.http.routers.error-router.rule=HostRegexp(`{host:.+}`)"
      - "traefik.http.routers.error-router.priority=1"
      - "traefik.http.routers.error-router.entrypoints=websecure"
      - "traefik.http.routers.error-router.tls=true"

      - "traefik.http.routers.error-router.middlewares=error-pages-middleware"

      - "traefik.http.middlewares.error-pages-middleware.errors.status=400-599"
      - "traefik.http.middlewares.error-pages-middleware.errors.service=error-pages-service"
      - "traefik.http.middlewares.error-pages-middleware.errors.query=/{status}.html"
      - "traefik.http.services.error-pages-service.loadbalancer.server.port=8080"

Traefik Syntax erklärung

  • Der Container nimmt alle Anfragen die mit dem Regex übereinstimmen an
- "traefik.http.routers.error-router.rule=HostRegexp(`{host:.+}`)"
  • Die Prorität dieser Regel wird auf das niedrigste gesetzt.
  • Damit wenn eine richtige URL Eingegben wird, der richtige Container geladen wird.
- "traefik.http.routers.error-router.priority=1"
  • Traefik entscheidet bei welchem Error Code dieser Container angezeigt werden soll
- "traefik.http.middlewares.error-pages-middleware.errors.status=400-599"
  • Wenn der Error Code im angegebenen Bereich ist, wird der error-page-service mit dem suffix /{status}.html aufgerufen.
- "traefik.http.middlewares.error-pages-middleware.errors.service=error-pages-service"
- "traefik.http.middlewares.error-pages-middleware.errors.query=/{status}.html"