# Pasar a Full (strict)

> Cambia una zona existente o un nombre de Full a Full (strict) sin errores 526, comprobando antes el estado del origen.

Las zonas nuevas empiezan en Full (strict). Las más antiguas pueden seguir en Full, donde el borde cifra pero acepta cualquier certificado del origen. Esta guía las cambia sin riesgo: primero se comprueba, después se corrige lo que fallaría y por último se cambia.

## Comprueba el estado del origen

El estado del origen muestra, para cada nombre HTTPS con proxy, lo que encontraría el borde con Full (strict). Se mide solo con un handshake TLS (sin petición HTTP), tarda como mucho 5 segundos por origen y se guarda 60 segundos por zona.

**Panel**

Ve a **SSL/TLS › Origen › Estado del origen** y pulsa **Comprobar de nuevo**.

**CLI**

```sh
openwaf-cloud ctl origin-tls status example.com
```

**API**

```sh
curl -s https://dash.openwaf.dev/v1/orgs/$ORG/zones/$ZONE/origin-tls/status \
  -H "Authorization: Bearer $OPENWAF_TOKEN"
```

**MCP**

`origin_tls_status` con `{"zone": "example.com"}`.


Cada nombre tiene un `probe.state`:

| Estado | Panel | Significado |
|---|---|---|
| `ok` | Correcto | El certificado pasaría Full (strict). `trusted_by` indica si lo avala una CA pública (`public`) o la Origin CA (`origin_ca`). |
| `invalid` | Certificado no válido | Fallaría; `error` explica por qué (caducado, nombre que no coincide, autoridad desconocida, revocado). Aparece como *Fallaría con Full (strict) (526)*. |
| `unreachable` | Inalcanzable | La comprobación no pudo conectar. |
| `http` | HTTP (sin cifrar) | El origen usa `http`; los modos TLS no se aplican. |
| `skipped` | Sin comprobar | El origen resuelve a una dirección privada, de loopback o link-local, a la que la comprobación nunca se conecta. |

El estado muestra además el modo de cada nombre, `effective_server_name` (el nombre que se verificaría), si el origen pide un certificado de cliente, la caducidad del certificado y los errores `525`/`526` del borde en las últimas 24 horas con el más reciente.

> **Nota**
>
> La comprobación se hace desde el plano de control de OpenWAF, no desde el borde. Un origen que solo acepta conexiones del borde puede aparecer como `unreachable` aunque el borde llegue a él; en ese caso, fíjate en la columna de errores del borde.


## Cambia sin cortes

1. **Corrige todos los nombres que no estén en `ok`.** Instala un certificado de una CA pública o un [certificado gratuito de la OpenWAF Origin CA](https://developers.openwaf.dev/es/ssl/origin-ca/). Si el certificado es de un nombre distinto del verificado, configura `origin.server_name` (**SSL/TLS › Origen › Opciones avanzadas › Nombre TLS del origen (SNI)**).
2. **Comprueba de nuevo** hasta que todos los nombres que vas a cambiar estén en `ok`.
3. **Cambia el modo**, para toda la zona o primero para un solo nombre.

**Panel**

   En **SSL/TLS › Origen › Cifrado con el origen**, elige **Full (strict)**. Con **Ámbito** decides si se aplica a todo el dominio o a un solo nombre; después pulsa **Guardar cambios** e indica un motivo.

**CLI**

   ```sh
   # Toda la zona:
   openwaf-cloud ctl zones set example.com origin.tls_verify=full_strict --reason "el origen tiene un certificado válido"
   # Solo un nombre:
   openwaf-cloud ctl zones set example.com --host www.example.com origin.tls_verify=full_strict --reason "primero www"
   ```

**API**

   ```sh
   curl -s -X PATCH https://dash.openwaf.dev/v1/orgs/$ORG/zones/$ZONE/edge \
     -H "Authorization: Bearer $OPENWAF_TOKEN" \
     -H "Content-Type: application/json" \
     -H "X-Change-Reason: el origen tiene un certificado válido" \
     -d '{"origin": {"tls_verify": "full_strict"}}'
   ```

   Para un nombre: `{"hosts": {"www.example.com": {"origin": {"tls_verify": "full_strict"}}}}`. Añade `?dry_run=1` para ver el cambio sin aplicarlo.

**MCP**

   `update_settings` simula con `confirm=false` y devuelve las diferencias y `current_version`; repite con `confirm=true` y `expected_version`.

   ```json
   {"zone": "example.com", "settings": {"origin": {"tls_verify": "full_strict"}}, "reason": "el origen tiene un certificado válido", "confirm": false}
   ```


4. **Vigila los errores 526** en el estado del origen (errores de las últimas 24 horas) o en los [eventos de seguridad](https://developers.openwaf.dev/es/analytics/security-events/). Si algo se rompe, vuelve a `full` o revierte la versión de la zona.


## Relacionado

- [Modos de TLS con el origen](https://developers.openwaf.dev/es/ssl/origin-tls/)
- [Solución de problemas con el 526](https://developers.openwaf.dev/es/ssl/troubleshooting/#error-526)
