# Modos de TLS con el origen

> Cómo se conecta el borde con tu origen por HTTP o HTTPS, qué verifican Full y Full (strict) y qué nombre comprueba.

El borde termina la conexión TLS del visitante y abre una segunda conexión con tu servidor, el **origen**. Estos ajustes deciden cómo se hace esa segunda conexión y cuánto se fía de ella el borde.

## Dirección y esquema del origen

Para cada nombre con proxy, el borde forma la dirección del origen a partir del contenido del registro:

```text
<origin.scheme>://<contenido del registro>[:<origin.port>]
```

Un sitio cuyo registro `A` apunta a `203.0.113.10` se pide a `https://203.0.113.10`. Con `origin.port` `9443` pasa a ser `https://203.0.113.10:9443`.

| Ajuste | Valores | Por defecto |
|---|---|---|
| `origin.scheme` | `https` o `http` | `https` |
| `origin.port` | `0`–`65535`; `0` = el puerto del esquema (443 u 80) | `0` |

> **Atención**
>
> Con `http`, el tráfico entre el borde y tu servidor no va cifrado y los modos TLS de abajo no se aplican. Úsalo solo en una red privada o si el servidor no puede servir HTTPS.


## Full y Full (strict)

Los dos modos cifran la conexión. Se diferencian en lo que comprueba el borde:

| Modo | `origin.tls_verify` | Qué hace el borde | Riesgo |
|---|---|---|---|
| **Full** | `full` | Cifra, pero acepta **cualquier** certificado: autofirmado, caducado o de otro nombre. | Quien pueda interceptar el tráfico entre el borde y tu servidor puede suplantar al origen. |
| **Full (strict)** | `full_strict` | Cifra y **verifica** el certificado. Si la verificación falla, el visitante recibe un `526` y no se sirve nada del origen. | Ninguno de los anteriores; el origen necesita un certificado válido. |

### Qué verifica Full (strict)

- La cadena llega a una **CA raíz pública** de confianza para el sistema operativo **o** a la [OpenWAF Origin CA](https://developers.openwaf.dev/es/ssl/origin-ca/).
- El certificado está dentro de sus fechas de validez.
- El certificado es válido para el [nombre verificado](#server-name).
- No está revocado. El borde rechaza los certificados de la OpenWAF Origin CA revocados, y los de zonas borradas, hasta que caducan.

### Valores por defecto

- Las **zonas nuevas** usan `full_strict`.
- Las zonas creadas antes de que existiera Full (strict) se quedaron en `full`, así que nada cambió para ellas. Para cambiarlas, sigue [Pasar a Full (strict)](https://developers.openwaf.dev/es/ssl/full-strict/).

## El nombre verificado (SNI)

En Full (strict), el borde comprueba el certificado contra un nombre y también lo envía en SNI. Lo elige en este orden:

1. `origin.server_name`, si está configurado. Úsalo cuando el origen es `203.0.113.7` pero su certificado es de `origin.example.com`.
2. El nombre de host del origen, si el origen es un nombre: `https://backend.example.com:9443` → `backend.example.com`.
3. El **nombre del propio sitio**, si el origen es una dirección IP: `www.example.com` con un registro `A` a `203.0.113.7` → `www.example.com`.

En Full, `origin.server_name` solo cambia el SNI; sin él, el borde envía el nombre de host del origen, o ningún SNI si es una dirección IP.

`origin.server_name` debe estar vacío o ser un nombre de host en minúsculas, sin comodín y que no sea una dirección IP.

## Ajustes por nombre

Todos los ajustes `origin.*` se pueden fijar para toda la zona o para un nombre en `hosts.<nombre>.origin`. El valor del nombre sustituye al de la zona solo para ese nombre; quítalo para volver a heredar. Consulta [Ajustes por nombre](https://developers.openwaf.dev/es/rules/per-name-settings/).

```sh
openwaf-cloud ctl zones set example.com --host api.example.com origin.tls_verify=full_strict --reason "el origen de la api tiene un certificado válido"
```

## Relacionado

- [Pasar a Full (strict)](https://developers.openwaf.dev/es/ssl/full-strict/)
- [Peticiones al origen autenticadas](https://developers.openwaf.dev/es/ssl/authenticated-origin-pulls/): el borde demuestra a tu servidor que es OpenWAF.
- [Solución de problemas con 525 y 526](https://developers.openwaf.dev/es/ssl/troubleshooting/)
