diff --git a/README.md b/README.md index 0a38812..00c15f9 100644 --- a/README.md +++ b/README.md @@ -12,9 +12,10 @@ Traefik es un reverse proxy moderno y ligero que detecta servicios Docker autom - 🔒 HTTPS automático con Let's Encrypt (HTTP-01) - 🧠 Descubrimiento automático de servicios Docker -- 🧷 Redirección HTTP→HTTPS +- 🧿 Redirección HTTP→HTTPS - 🧰 Dashboard web (seguro por dominio) - 🧩 Middlewares: auth básica, headers de seguridad, rate limit, etc. +- 📊 Logs de acceso y errores (stdout/stderr) ## Requisitos @@ -137,6 +138,23 @@ certificatesResolvers: caServer: https://acme-staging-v02.api.letsencrypt.org/directory ``` +## Logs + +Traefik envía logs a stdout/stderr (sin persistencia en disco): + +```bash +# Ver logs en tiempo real +docker logs -f traefik + +# Filtrar errores +docker logs traefik | Select-String -Pattern error + +# Ver logs de acceso +docker logs traefik | Select-String -Pattern "GET|POST" +``` + +**Nivel de log**: INFO (configurable en `traefik.yml` → `log.level`) + ## Troubleshooting - Certificado no se emite: diff --git a/docker-compose.yaml b/docker-compose.yaml index e25f28f..19dbbb5 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -24,7 +24,7 @@ services: - "traefik.http.routers.traefik.tls=true" - "traefik.http.routers.traefik.tls.certresolver=letsencrypt" - "traefik.http.routers.traefik.service=api@internal" - # Autenticación básica (usa middleware del archivo dynamic/middlewares.yml) + # Autenticación básica (usa middleware del archivo dynamic/config.yml) - "traefik.http.routers.traefik.middlewares=auth-basic@file" networks: diff --git a/dynamic/README.md b/dynamic/README.md index 67526f3..cd9b3c4 100644 --- a/dynamic/README.md +++ b/dynamic/README.md @@ -4,10 +4,26 @@ Este directorio contiene configuración que Traefik recarga automáticamente sin ## Archivos -- **config.yml**: Configuración dinámica completa (middlewares, routers, servicios) +- **config.yml**: Configuración dinámica completa (serversTransports, middlewares, routers, servicios) **Importante:** Con `directory:` en el proveedor file, se debe usar un único archivo consolidado con la estructura `http:` como raíz. +## ServersTransports + +El archivo incluye el transport `insecure` para servicios con certificados autofirmados (como Portainer): + +```yaml +http: + serversTransports: + insecure: + insecureSkipVerify: true +``` + +**Uso en labels**: +```yaml +- "traefik.http.services.mi-servicio.loadbalancer.serversTransport=insecure@file" +``` + ## Autenticación Básica El middleware `auth-basic` está **habilitado por defecto** para proteger el dashboard de Traefik.