Skip to main content

Labels | Traefik

  • Labels | Traefik

  • Padrão das labels
traefik.<protocol>.<object-type>.<object-name>.<property>=<value>

🧱 1. Labels Gerais

traefik.enable=true|false
traefik.docker.network=<network_name>
traefik.tags=<tag>

🌐 2. Routers (traefik.http.routers)

2.1 Básicas

traefik.http.routers.<router>.rule
traefik.http.routers.<router>.entrypoints
traefik.http.routers.<router>.service
traefik.http.routers.<router>.priority

Exemplo de rule

Host(`example.com`)
Host(`example.com`,`www.example.com`)
Path(`/api`)
PathPrefix(`/v1`)
Host(`example.com`) && PathPrefix(`/api`)

2.2 TLS / HTTPS

traefik.http.routers.<router>.tls=true
traefik.http.routers.<router>.tls.certresolver
traefik.http.routers.<router>.tls.domains[0].main
traefik.http.routers.<router>.tls.domains[0].sans

Exemplo:

traefik.http.routers.app.tls.domains[0].main=example.com
traefik.http.routers.app.tls.domains[0].sans=www.example.com

2.3 Middlewares no Router

traefik.http.routers.<router>.middlewares=middleware1,middleware2

Com provider explícito:

middleware@docker

🔁 3. Services (traefik.http.services)

3.1 Load Balancer

traefik.http.services.<service>.loadbalancer.server.port
traefik.http.services.<service>.loadbalancer.passhostheader=true|false
traefik.http.services.<service>.loadbalancer.healthcheck.path
traefik.http.services.<service>.loadbalancer.healthcheck.interval
traefik.http.services.<service>.loadbalancer.healthcheck.timeout

3.2 Sticky Sessions

traefik.http.services.<service>.loadbalancer.sticky.cookie=true
traefik.http.services.<service>.loadbalancer.sticky.cookie.name
traefik.http.services.<service>.loadbalancer.sticky.cookie.secure
traefik.http.services.<service>.loadbalancer.sticky.cookie.httponly

🧩 4. Middlewares (traefik.http.middlewares)


4.1 Redirect HTTP → HTTPS

traefik.http.middlewares.<mw>.redirectscheme.scheme=https
traefik.http.middlewares.<mw>.redirectscheme.permanent=true

4.2 Basic Auth

traefik.http.middlewares.<mw>.basicauth.users=user:hash
traefik.http.middlewares.<mw>.basicauth.realm
traefik.http.middlewares.<mw>.basicauth.removeheader=true

4.3 Headers (SEGURANÇA)

traefik.http.middlewares.<mw>.headers.sslredirect=true
traefik.http.middlewares.<mw>.headers.stsseconds=31536000
traefik.http.middlewares.<mw>.headers.stsincludesubdomains=true
traefik.http.middlewares.<mw>.headers.stspreload=true
traefik.http.middlewares.<mw>.headers.contenttypenosniff=true
traefik.http.middlewares.<mw>.headers.browserxssfilter=true
traefik.http.middlewares.<mw>.headers.framedeny=true
traefik.http.middlewares.<mw>.headers.referrerpolicy=no-referrer

4.4 Rate Limit

traefik.http.middlewares.<mw>.ratelimit.average
traefik.http.middlewares.<mw>.ratelimit.burst
traefik.http.middlewares.<mw>.ratelimit.period

4.5 IP Whitelist

traefik.http.middlewares.<mw>.ipwhitelist.sourcerange=192.168.0.0/24

4.6 Compress (Gzip/Brotli)

traefik.http.middlewares.<mw>.compress=true

4.7 Retry

traefik.http.middlewares.<mw>.retry.attempts
traefik.http.middlewares.<mw>.retry.initialinterval

4.8 Replace Path

traefik.http.middlewares.<mw>.replacepath.path=/new
traefik.http.middlewares.<mw>.replacepathregex.regex=^/api/(.*)
traefik.http.middlewares.<mw>.replacepathregex.replacement=/$1

4.9 Strip Prefix

traefik.http.middlewares.<mw>.stripprefix.prefixes=/api
traefik.http.middlewares.<mw>.stripprefix.forceSlash=true

4.10 Circuit Breaker

traefik.http.middlewares.<mw>.circuitbreaker.expression=LatencyAtQuantileMS(50.0) > 100

🔐 5. TLS Avançado

5.1 TLS Options

traefik.http.routers.<router>.tls.options=<tls-option>@docker
traefik.tls.options.<name>.minversion=VersionTLS12
traefik.tls.options.<name>.cipherSuites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

📊 6. Observabilidade

6.1 Access Logs

traefik.http.middlewares.<mw>.accesslog=true

6.2 Metrics (Prometheus)

traefik.metrics.prometheus=true

🧠 7. Dashboard (api@internal)

traefik.http.routers.traefik.service=api@internal

🧪 8. TCP Routers (avançado)

traefik.tcp.routers.<router>.rule=HostSNI(`example.com`)
traefik.tcp.routers.<router>.entrypoints
traefik.tcp.routers.<router>.tls=true

🧾 9. UDP Routers

traefik.udp.routers.<router>.entrypoints
traefik.udp.services.<service>.loadbalancer.server.port

✅ 10. Labels MÍNIMAS para Produção (resumo)

traefik.enable=true
traefik.http.routers.app.rule=Host(`example.com`)
traefik.http.routers.app.entrypoints=websecure
traefik.http.routers.app.tls=true
traefik.http.routers.app.tls.certresolver=le
traefik.http.services.app.loadbalancer.server.port=80