From 6e7067c91ff5128262448fac1cfa442b5e8bf3a4 Mon Sep 17 00:00:00 2001 From: groales Date: Mon, 1 Dec 2025 12:57:34 +0100 Subject: [PATCH] Separar middlewares.yml y routers.yml en archivos independientes --- dynamic/README.md | 5 ++-- dynamic/middlewares.yml | 54 ----------------------------------------- dynamic/routers.yml | 54 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+), 56 deletions(-) create mode 100644 dynamic/routers.yml diff --git a/dynamic/README.md b/dynamic/README.md index dfe0cd7..5bbdbd6 100644 --- a/dynamic/README.md +++ b/dynamic/README.md @@ -4,7 +4,8 @@ Este directorio contiene configuración que Traefik recarga automáticamente sin ## Archivos -- **middlewares.yml**: Middlewares reutilizables (headers seguridad, rate limit, auth, etc.) + ejemplos de routers/servicios +- **middlewares.yml**: Middlewares reutilizables (headers seguridad, rate limit, auth, etc.) +- **routers.yml**: Ejemplos de routers y servicios estáticos (alternativa a labels Docker) ## Autenticación Básica @@ -61,5 +62,5 @@ Traefik detecta cambios en este directorio y recarga sin reiniciar. Espera ~10 s ## Ejemplos adicionales -- **Routers y Servicios:** Ver ejemplos comentados al final de `middlewares.yml` para configurar rutas sin labels Docker +- **Routers y Servicios:** Ver ejemplos comentados en `routers.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 406ca49..583af56 100644 --- a/dynamic/middlewares.yml +++ b/dynamic/middlewares.yml @@ -42,57 +42,3 @@ 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 new file mode 100644 index 0000000..9faf744 --- /dev/null +++ b/dynamic/routers.yml @@ -0,0 +1,54 @@ +# ============================================ +# ROUTERS Y SERVICIOS (Ejemplos comentados) +# ============================================ +# Descomentar y adaptar según necesites + +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"