Documentar autenticación básica del dashboard con middleware dinámico
@@ -21,13 +21,13 @@ providers:
|
|||||||
docker:
|
docker:
|
||||||
exposedByDefault: false
|
exposedByDefault: false
|
||||||
network: proxy
|
network: proxy
|
||||||
# file:
|
file:
|
||||||
# directory: /etc/traefik/dynamic
|
directory: /etc/traefik/dynamic
|
||||||
# watch: true
|
watch: true
|
||||||
```
|
```
|
||||||
Usa `exposedByDefault: false` para controlar qué servicios se publican.
|
Usa `exposedByDefault: false` para controlar qué servicios se publican.
|
||||||
|
|
||||||
**Nota:** El proveedor `file` está comentado por defecto. Descoméntalo solo si vas a usar configuración dinámica y crea el directorio correspondiente.
|
**Configuración dinámica habilitada:** El proveedor `file` está activo. Coloca middlewares y configuraciones en `dynamic/middlewares.yml`. Traefik recarga automáticamente los cambios sin reinicio.
|
||||||
|
|
||||||
## Certificados
|
## Certificados
|
||||||
```yaml
|
```yaml
|
||||||
@@ -42,7 +42,36 @@ certificatesResolvers:
|
|||||||
**IMPORTANTE:** Edita directamente en `traefik.yml` con tu email real antes de desplegar. `storage` debe ser persistente para mantener renovaciones.
|
**IMPORTANTE:** Edita directamente en `traefik.yml` con tu email real antes de desplegar. `storage` debe ser persistente para mantener renovaciones.
|
||||||
|
|
||||||
## Dashboard
|
## Dashboard
|
||||||
Se expone vía labels apuntando a `api@internal`. Protege con dominio + auth básica.
|
|
||||||
|
Se expone vía labels en `docker-compose.yaml` apuntando a `api@internal`.
|
||||||
|
|
||||||
|
### Autenticación Básica
|
||||||
|
|
||||||
|
El dashboard está protegido con el middleware `auth-basic@file`:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
labels:
|
||||||
|
- "traefik.http.routers.traefik.middlewares=auth-basic@file"
|
||||||
|
```
|
||||||
|
|
||||||
|
**Configurar contraseña:**
|
||||||
|
|
||||||
|
1. Genera hash bcrypt:
|
||||||
|
```bash
|
||||||
|
docker run --rm httpd:alpine htpasswd -nbB admin tu_password_segura
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Edita `dynamic/middlewares.yml`:
|
||||||
|
```yaml
|
||||||
|
auth-basic:
|
||||||
|
basicAuth:
|
||||||
|
users:
|
||||||
|
- "admin:$2y$05$HASH_COMPLETO_AQUI"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Guarda → recarga automática (~10s)
|
||||||
|
|
||||||
|
**Nota:** El sufijo `@file` indica que el middleware proviene de configuración dinámica.
|
||||||
|
|
||||||
## Staging vs Producción
|
## Staging vs Producción
|
||||||
Para pruebas masivas:
|
Para pruebas masivas:
|
||||||
|
|||||||
14
Home.md
14
Home.md
@@ -19,9 +19,23 @@ git clone https://git.ictiberia.com/groales/traefik
|
|||||||
cd traefik
|
cd traefik
|
||||||
mkdir -p letsencrypt && echo > letsencrypt/acme.json
|
mkdir -p letsencrypt && echo > letsencrypt/acme.json
|
||||||
# chmod 600 letsencrypt/acme.json (Linux)
|
# chmod 600 letsencrypt/acme.json (Linux)
|
||||||
|
|
||||||
|
# Edita traefik.yml (email ACME) y docker-compose.yaml (dominio dashboard)
|
||||||
|
# Configura contraseña en dynamic/middlewares.yml (ver sección Dashboard)
|
||||||
|
|
||||||
docker compose up -d
|
docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Dashboard Protegido
|
||||||
|
|
||||||
|
El dashboard usa **autenticación básica** mediante `auth-basic@file`.
|
||||||
|
|
||||||
|
**Configurar contraseña:**
|
||||||
|
```bash
|
||||||
|
docker run --rm httpd:alpine htpasswd -nbB admin tu_password
|
||||||
|
# Edita dynamic/middlewares.yml línea 35 con el hash generado
|
||||||
|
```
|
||||||
|
|
||||||
## Páginas
|
## Páginas
|
||||||
- [Configuración Avanzada](Configuracion-Avanzada.md)
|
- [Configuración Avanzada](Configuracion-Avanzada.md)
|
||||||
- [TLS y ACME](TLS-ACME.md)
|
- [TLS y ACME](TLS-ACME.md)
|
||||||
|
|||||||
Reference in New Issue
Block a user