Consolidar en un solo archivo dynamic/config.yml

This commit is contained in:
2025-12-01 13:17:22 +01:00
parent dec01f536c
commit 400d41687b
4 changed files with 87 additions and 95 deletions

View File

@@ -8,7 +8,7 @@ Este directorio contiene configuración que Traefik recarga automáticamente sin
- **routers.yml**: Routers HTTP/HTTPS (ejemplos comentados) - **routers.yml**: Routers HTTP/HTTPS (ejemplos comentados)
- **services.yml**: Servicios backend (ejemplos comentados) - **services.yml**: Servicios backend (ejemplos comentados)
**Nota:** Los archivos NO usan la raíz `http:` porque Traefik los carga automáticamente bajo `http.middlewares`, `http.routers`, y `http.services` respectivamente. **Importante:** Cada archivo debe tener la estructura `http:` como raíz cuando se usa `directory:` en el proveedor file.
## Autenticación Básica ## Autenticación Básica

View File

@@ -1,9 +1,7 @@
# ============================================ http:
# MIDDLEWARES middlewares:
# ============================================ # Headers de seguridad
security-headers:
# Headers de seguridad
security-headers:
headers: headers:
stsSeconds: 63072000 stsSeconds: 63072000
forceSTSHeader: true forceSTSHeader: true
@@ -16,15 +14,15 @@ security-headers:
customResponseHeaders: customResponseHeaders:
X-Robots-Tag: "none,noarchive,nosnippet,notranslate,noimageindex" X-Robots-Tag: "none,noarchive,nosnippet,notranslate,noimageindex"
# Rate limiting # Rate limiting
rate-limit: rate-limit:
rateLimit: rateLimit:
average: 100 average: 100
burst: 200 burst: 200
period: 1m period: 1m
# IP Allow List (ejemplo - ajusta tus IPs) # IP Allow List (ejemplo - ajusta tus IPs)
ip-allowlist: ip-allowlist:
ipAllowList: ipAllowList:
sourceRange: sourceRange:
- "127.0.0.1/32" - "127.0.0.1/32"
@@ -32,14 +30,14 @@ ip-allowlist:
- "172.16.0.0/12" - "172.16.0.0/12"
- "192.168.0.0/16" - "192.168.0.0/16"
# Autenticación básica (genera hash con: docker run --rm httpd:alpine htpasswd -nbB admin tu_password) # Autenticación básica (genera hash con: docker run --rm httpd:alpine htpasswd -nbB admin tu_password)
auth-basic: auth-basic:
basicAuth: basicAuth:
users: users:
- "admin:$2y$05$example_hash_CHANGE_THIS" # CAMBIA ESTE HASH - "admin:$2y$05$example_hash_CHANGE_THIS" # CAMBIA ESTE HASH
# Redirect www a root # Redirect www a root
redirect-www: redirect-www:
redirectRegex: redirectRegex:
regex: "^https?://www\\.(.+)" regex: "^https?://www\\.(.+)"
replacement: "https://${1}" replacement: "https://${1}"

View File

@@ -1,29 +1,26 @@
# ============================================ http:
# ROUTERS Y SERVICIOS (Ejemplos comentados) routers:
# ============================================ # Ejemplo: Router para aplicación web con HTTPS y middlewares
# Descomentar y adaptar según necesites # whoami:
# rule: "Host(`whoami.tudominio.com`)"
# entryPoints:
# - websecure
# middlewares:
# - security-headers
# - rate-limit
# service: whoami-service
# tls:
# certResolver: letsencrypt
# Ejemplo: Router para aplicación web con HTTPS y middlewares # Ejemplo: Router con autenticación básica y restricción IP
# whoami: # admin-panel:
# rule: "Host(`whoami.tudominio.com`)" # rule: "Host(`admin.tudominio.com`)"
# entryPoints: # entryPoints:
# - websecure # - websecure
# middlewares: # middlewares:
# - security-headers # - auth-basic
# - rate-limit # - ip-allowlist
# service: whoami-service # - security-headers
# tls: # service: admin-service
# certResolver: letsencrypt # 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

View File

@@ -1,26 +1,23 @@
# ============================================ http:
# SERVICIOS (Ejemplos comentados) services:
# ============================================ # Ejemplo: Servicio apuntando a contenedor local
# Descomentar y adaptar según necesites # whoami-service:
# loadBalancer:
# servers:
# - url: "http://whoami:80"
# Ejemplo: Servicio apuntando a contenedor local # Ejemplo: Servicio apuntando a servidor externo
# whoami-service: # admin-service:
# loadBalancer: # loadBalancer:
# servers: # servers:
# - url: "http://whoami:80" # - url: "http://192.168.1.100:8080"
# Ejemplo: Servicio apuntando a servidor externo # Ejemplo: Servicio con health check
# admin-service: # api-service:
# loadBalancer: # loadBalancer:
# servers: # servers:
# - url: "http://192.168.1.100:8080" # - url: "http://api:3000"
# healthCheck:
# Ejemplo: Servicio con health check # path: "/health"
# api-service: # interval: "10s"
# loadBalancer: # timeout: "3s"
# servers:
# - url: "http://api:3000"
# healthCheck:
# path: "/health"
# interval: "10s"
# timeout: "3s"