Clone
5
Configuracion Avanzada
groales edited this page 2025-12-02 19:20:21 +01:00

Configuración Avanzada

entryPoints

entryPoints:
  web:
    address: ":80"
    http:
      redirections:
        entryPoint:
          to: websecure
          scheme: https
  websecure:
    address: ":443"

La redirección fuerza HTTPS para todo el tráfico.

Proveedores

providers:
  docker:
    exposedByDefault: false
    network: proxy
  file:
    directory: /etc/traefik/dynamic
    watch: true

Usa exposedByDefault: false para controlar qué servicios se publican.

Configuración dinámica habilitada: El proveedor file está activo. Coloca middlewares y configuraciones en dynamic/config.yml. Traefik recarga automáticamente los cambios sin reinicio.

Certificados

certificatesResolvers:
  letsencrypt:
    acme:
      email: tu-email@tudominio.com  # EDITA CON TU EMAIL REAL
      storage: /letsencrypt/acme.json
      httpChallenge:
        entryPoint: web

IMPORTANTE: Edita directamente en traefik.yml con tu email real antes de desplegar. storage debe ser persistente para mantener renovaciones.

Dashboard

Se expone vía labels en docker-compose.yml apuntando a api@internal.

Autenticación Básica

El dashboard está protegido con el middleware auth-basic@file:

labels:
  - "traefik.http.routers.traefik.middlewares=auth-basic@file"

Configurar contraseña:

  1. Genera hash bcrypt:
docker run --rm httpd:alpine htpasswd -nbB admin tu_password_segura
  1. Edita dynamic/config.yml (sección http > middlewares > auth-basic):
auth-basic:
  basicAuth:
    users:
      - "admin:$2y$05$HASH_COMPLETO_AQUI"
  1. Guarda → recarga automática (~10s)

Nota: El sufijo @file indica que el middleware proviene de configuración dinámica.

Staging vs Producción

Para pruebas masivas:

caServer: https://acme-staging-v02.api.letsencrypt.org/directory

Evita límites de emisión.

Ajustes recomendados

  • Mantén el archivo estático mínimo.
  • Mueve middlewares personalizados a /etc/traefik/dynamic.
  • Versiona traefik.yml en Git.

Última actualización: Nov 2025