Caddy/GetAStatic: fix propagation_delay 120s + regla redirect DNS OPNsense + procedimiento seguro (validate antes)
This commit is contained in:
@@ -181,3 +181,39 @@ Estos servicios generan errores `502` en Caddy porque sus backends no están acc
|
||||
|
||||
*Documentación Caddy / Dockge - Consultoria Alcaraz Salazar*
|
||||
*Actualizado: 21 de Junio de 2026*
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Caddy + GetAStatic: certificados y DNS (Sept 2026) — LECTURA OBLIGATORIA
|
||||
|
||||
### El problema y su causa raíz
|
||||
|
||||
Los certificados nuevos fallaban con:
|
||||
```
|
||||
querying authoritative nameservers: read udp -> 162.159.38.193:53: no route to host
|
||||
```
|
||||
**Causa**: la verificación de propagación DNS de Caddy (certmagic) consulta los **nameservers autoritativos** directamente por UDP/53 — y el ISP de la oficina (CGNAT) **bloquea el DNS externo**. Los certificados existentes funcionan porque se emitieron antes de la mudanza.
|
||||
|
||||
### El fix aplicado
|
||||
|
||||
1. **`propagation_delay 120s` en TODOS los bloques `tls`** (24 bloques): hace que el solver **espere** en vez de fallar en la verificación. ⚠️ **Requiere unidad** (`120s`, no `120` — sin unidad el contenedor entra en **crash loop** y **todos los servicios caen**).
|
||||
2. **Regla NAT "Redirect DNS" en el OPNsense**: todo el tráfico UDP/TCP 53 de la LAN se redirige al resolver local (127.0.0.1) — el resolver del OPNsense sí resuelve (usa DoT, no bloqueado).
|
||||
|
||||
### Procedimiento seguro para editar el Caddyfile (¡obligatorio!)
|
||||
|
||||
```bash
|
||||
# 1. extraer, editar
|
||||
docker exec caddy cat /etc/caddy/Caddyfile > /tmp/Caddyfile.host
|
||||
# (editar /tmp/Caddyfile.host)
|
||||
# 2. VALIDAR ANTES DE APLICAR ← la lección del crash loop
|
||||
docker exec -i caddy caddy validate --adapter caddyfile --config /dev/stdin < /tmp/Caddyfile.host
|
||||
# 3. solo si dice "Valid configuration":
|
||||
docker cp /tmp/Caddyfile.host caddy:/etc/caddy/Caddyfile
|
||||
docker exec caddy caddy reload --config /etc/caddy/Caddyfile
|
||||
```
|
||||
|
||||
### Otros hallazgos de la sesión
|
||||
|
||||
- **Backoff largo de ACME**: tras fallos, Caddy reintenta en horas. Forzar con `docker restart caddy` (reintenta al arrancar).
|
||||
- **Backend de PegaProx colgado**: `127.0.0.1:5000` con conexiones en cola (app viva pero muda) → `systemctl restart pegaprox` en el LXC 125. Síntoma: el dominio da timeout tras completar el TLS.
|
||||
- **Medir TLS con SNI correcto**: `curl -H "Host: x"` NO cambia el SNI (da falsos 000). Usar `--resolve x:443:<ip>` u `openssl s_client -servername x`.
|
||||
|
||||
Reference in New Issue
Block a user