# Solución de problemas de SSL/TLS

> Corrige los errores 525 y 526 entre el borde y tu origen, y los certificados del borde atascados en Pendiente o Fallido.

## Error 526: certificado del origen no válido

Los visitantes ven la página **Certificado del origen no válido** con el estado `526`.

**Causa.** El nombre está en Full (strict) y el certificado del origen no superó la verificación. No se sirve nada de ese origen.

**Averigua el motivo.** Abre **SSL/TLS › Origen › Estado del origen** (o ejecuta `openwaf-cloud ctl origin-tls status example.com`). El nombre aparece como *Fallaría con Full (strict) (526)* junto con el error. Cada 526 genera además un [evento de seguridad](https://developers.openwaf.dev/es/analytics/security-events/) limitado, con la acción `log`, la regla `origin_tls` y un mensaje corto:

| Mensaje | Qué hacer |
|---|---|
| `origin certificate expired` / `origin certificate not yet valid` | Instala un certificado vigente. Si dice *not yet valid*, revisa el reloj del servidor. |
| `hostname mismatch` | El certificado no es válido para el [nombre verificado](https://developers.openwaf.dev/es/ssl/origin-tls/#server-name). Consigue un certificado para ese nombre o pon en `origin.server_name` un nombre que el certificado cubra. |
| `unknown authority` | El certificado es autofirmado o de una CA privada. Usa una CA pública o un [certificado de la OpenWAF Origin CA](https://developers.openwaf.dev/es/ssl/origin-ca/). |
| `certificate revoked` | El servidor aún sirve un certificado revocado de la Origin CA. Emite e instala otro. |

Mientras lo corriges, puedes volver a poner el nombre en `full` para que dejen de aparecer errores; vuelve a `full_strict` cuando el estado sea `ok`.

## Error 525: fallo del handshake TLS con el origen

Los visitantes ven la página **Fallo del handshake TLS con el origen** con el estado `525`.

**Causa.** El handshake TLS entre el borde y tu origen falló por un motivo distinto de la verificación del certificado. El mensaje del evento es `handshake failed: <alerta>`. Causas habituales:

- **El origen exige un certificado de cliente** y `origin.client_cert` está desactivado, o el cambio aún no ha llegado a todos los nodos. El estado del origen dice *El origen pide un certificado de cliente pero el borde no presenta ninguno.* Activa las [peticiones al origen autenticadas](https://developers.openwaf.dev/es/ssl/authenticated-origin-pulls/) y espera a la propagación, o deja de exigir el certificado en el servidor.
- **Versiones o cifrados TLS incompatibles.** El origen debe aceptar TLS 1.2 o posterior.
- **El origen cierra la conexión**, o el puerto no habla TLS (`handshake failed: origin did not answer TLS`). Revisa `origin.scheme` y `origin.port`.

## Certificado pendiente o fallido

En **SSL/TLS › Certificados › Sitios**, un nombre sigue en **Pendiente** o aparece como **Fallido**. **Detalles** muestra el último error, los intentos fallidos y el próximo intento.

| Situación | Qué revisar |
|---|---|
| La zona aún no está activa | Zonas delegadas: los certificados se piden cuando se detecta la delegación en los servidores de nombres de OpenWAF. Revisa la delegación en [DNS](https://developers.openwaf.dev/es/dns/). |
| Zona externa con el nombre sin apuntar | HTTP-01 solo funciona cuando el nombre apunta al borde (`CNAME` a `edge.openwaf.dev`). Compruébalo con `openwaf-cloud ctl zones hosts example.com`. |
| Registros `CAA` | Un registro `CAA` debe permitir `letsencrypt.org`. |
| Límites de Let's Encrypt | OpenWAF espera y reintenta por su cuenta; se muestra el próximo intento. |
| Ningún registro con proxy | Solo reciben certificado los nombres `A`, `AAAA` y `CNAME` con proxy. |

Tras un fallo, OpenWAF reintenta solo, esperando entre 30 minutos y un día entre intentos. Cuando la causa está corregida no tienes que hacer nada.

Un aviso como *renewal overdue* o *certificate expired* en un certificado automático significa que las renovaciones están fallando: mira **Detalles**. En un certificado **Subido por un operador**, un aviso significa que está a punto de caducar y hay que sustituirlo; escribe a support@openwaf.dev.

## El estado del origen dice Inalcanzable

La comprobación se hace desde el plano de control de OpenWAF. Si tu cortafuegos solo admite al borde, la comprobación no puede conectar aunque los visitantes se sirvan con normalidad. Para ver los fallos reales, usa la columna **Errores (24 h)**, que procede del borde.

## HSTS sigue mandando a los navegadores a HTTPS

Los navegadores recuerdan HSTS durante el último `max-age` que vieron. Poner `hsts.max_age` a `0` afecta a los visitantes nuevos, pero los navegadores que ya lo vieron siguen usando HTTPS hasta que se agota su valor guardado. Consulta [HSTS](https://developers.openwaf.dev/es/ssl/hsts/).
