Przejdลบ do treล›ci

๐Ÿšฆ Traefik

Traefik acts as the reverse proxy and dynamic router in the production environment. This document covers core concepts, configuration patterns, and diagnostic procedures.


๐Ÿงฉ Core Concepts

  • Router โ€” decides which service handles an incoming request
  • Service โ€” backend target (e.g., a Docker container)
  • Middleware โ€” request/response modifiers (redirects, headers, rate limits)
  • EntryPoint โ€” exposed port (e.g., :80, :443)

Routers match requests โ†’ apply middleware โ†’ forward to services.


๐Ÿ” HTTPS Router Example

1
2
3
4
5
labels:
  - "traefik.enable=true"
  - "traefik.http.routers.app.rule=Host(`app.example.com`)"
  - "traefik.http.routers.app.entrypoints=websecure"
  - "traefik.http.routers.app.tls.certresolver=le"

Notes:

  • websecure typically maps to port :443
  • certresolver=le enables automatic Let's Encrypt certificates
  • Host rules support multiple domains and wildcards

๐Ÿ› ๏ธ Diagnostics & Debugging

๐Ÿ” Checking Router Health

1
2
docker exec -it traefik sh
traefik healthcheck

๐Ÿ“œ Logs

1
docker logs -f traefik

Useful for:

  • ACME/Let's Encrypt errors
  • Router registration issues
  • Network connectivity problems

๐Ÿ“Š Dashboard

Enable in Traefik configuration:

1
2
api:
  dashboard: true

Then access:

1
https://your-domain.com/dashboard/

(Requires a router + authentication middleware in production.)


๐Ÿšจ Common Issues & Solutions

Problem Cause Solution
404 from Traefik Router not created Check rule= label
TLS not working Missing certresolver Add tls.certresolver=le
Router cannot reach container Missing network Add networks: - traefik-net
Wrong service port Incorrect loadbalancer port Set traefik.http.services.<name>.loadbalancer.server.port=
ACME rate limits Too many cert requests Reuse certificates, check domain spelling

๐Ÿ“˜ Additional Topics