diff --git a/dynamic/README.md b/dynamic/README.md index 8ab9bf9..dfe0cd7 100644 --- a/dynamic/README.md +++ b/dynamic/README.md @@ -4,8 +4,7 @@ Este directorio contiene configuración que Traefik recarga automáticamente sin ## Archivos -- **middlewares.yml**: Middlewares reutilizables (headers seguridad, rate limit, auth, etc.) -- **routers.yml**: Ejemplos de routers y servicios configurados por archivo (alternativa a labels Docker) +- **middlewares.yml**: Middlewares reutilizables (headers seguridad, rate limit, auth, etc.) + ejemplos de routers/servicios ## Autenticación Básica @@ -62,5 +61,5 @@ Traefik detecta cambios en este directorio y recarga sin reiniciar. Espera ~10 s ## Ejemplos adicionales -- **Routers y Servicios:** Ver ejemplos comentados en `routers.yml` para configurar rutas sin labels Docker +- **Routers y Servicios:** Ver ejemplos comentados al final de `middlewares.yml` para configurar rutas sin labels Docker - **Middlewares avanzados:** Consulta la wiki: https://git.ictiberia.com/groales/traefik/wiki/Middlewares-Seguridad diff --git a/dynamic/middlewares.yml b/dynamic/middlewares.yml index 583af56..406ca49 100644 --- a/dynamic/middlewares.yml +++ b/dynamic/middlewares.yml @@ -42,3 +42,57 @@ http: regex: "^https?://www\\.(.+)" replacement: "https://${1}" permanent: true + + # ============================================ + # ROUTERS Y SERVICIOS (Ejemplos comentados) + # ============================================ + # Descomentar y adaptar según necesites + + # routers: + # # Ejemplo: Router para aplicación web con HTTPS y middlewares + # whoami: + # rule: "Host(`whoami.tudominio.com`)" + # entryPoints: + # - websecure + # middlewares: + # - security-headers + # - rate-limit + # service: whoami-service + # tls: + # certResolver: letsencrypt + # + # # Ejemplo: Router con autenticación básica y restricción IP + # admin-panel: + # rule: "Host(`admin.tudominio.com`)" + # entryPoints: + # - websecure + # middlewares: + # - auth-basic + # - ip-allowlist + # - security-headers + # service: admin-service + # tls: + # certResolver: letsencrypt + # + # services: + # # Ejemplo: Servicio apuntando a contenedor local + # whoami-service: + # loadBalancer: + # servers: + # - url: "http://whoami:80" + # + # # Ejemplo: Servicio apuntando a servidor externo + # admin-service: + # loadBalancer: + # servers: + # - url: "http://192.168.1.100:8080" + # + # # Ejemplo: Servicio con health check + # api-service: + # loadBalancer: + # servers: + # - url: "http://api:3000" + # healthCheck: + # path: "/health" + # interval: "10s" + # timeout: "3s" diff --git a/dynamic/routers.yml b/dynamic/routers.yml deleted file mode 100644 index 954eb95..0000000 --- a/dynamic/routers.yml +++ /dev/null @@ -1,49 +0,0 @@ -http: - routers: - # Ejemplo: Router para aplicación web con HTTPS y middlewares - # whoami: - # rule: "Host(`whoami.tudominio.com`)" - # entryPoints: - # - websecure - # middlewares: - # - security-headers - # - rate-limit - # service: whoami-service - # tls: - # certResolver: letsencrypt - - # Ejemplo: Router con autenticación básica y restricción IP - # admin-panel: - # rule: "Host(`admin.tudominio.com`)" - # entryPoints: - # - websecure - # middlewares: - # - auth-basic - # - ip-allowlist - # - security-headers - # service: admin-service - # tls: - # certResolver: letsencrypt - - services: - # Ejemplo: Servicio apuntando a contenedor local - # whoami-service: - # loadBalancer: - # servers: - # - url: "http://whoami:80" - - # Ejemplo: Servicio apuntando a servidor externo - # admin-service: - # loadBalancer: - # servers: - # - url: "http://192.168.1.100:8080" - - # Ejemplo: Servicio con health check - # api-service: - # loadBalancer: - # servers: - # - url: "http://api:3000" - # healthCheck: - # path: "/health" - # interval: "10s" - # timeout: "3s"