<zona> es el dominio o el id de la zona. Las consultas admiten --json; los cambios reciben --reason, --dry-run y --yes (opciones globales).
Consultar
zones list
zones list [--merged]Las zonas de la organización con su estado, su modo DNS y su versión actual. Un token de zona o de cliente solo ve las suyas.
| Opción | Significado |
|---|---|
--merged | Incluir las zonas fusionadas en otra (ocultas por defecto). |
zones show
zones show <zona>La zona, su versión actual y sus ajustes de borde. En una zona externa enseña además el registro TXT de propiedad que hay que publicar, el destino CNAME (edge.openwaf.dev) y las direcciones del borde para los registros de la raíz.
zones hosts
zones hosts <zona>Solo zonas externas: si cada nombre con proxy apunta ya a OpenWAF en el DNS público (por CNAME o A/AAAA). Las respuestas se guardan en caché un minuto aproximadamente.
zones check
zones check <zona>Comprueba ahora la delegación de una zona delegada (sus servidores de nombres en el registrador), o el registro TXT de propiedad de una externa, y activa la zona cuando queda verificada. Imprime el resultado y lo que respondió cada resolvedor público. Requiere el rol Técnico; no lleva motivo porque no cambia la configuración.
zones effective
zones effective <zona> <nombre>La configuración que recibe un nombre en el borde: los ajustes de la zona combinados con los propios del nombre, su origen, las reglas que le aplican, sus límites de peticiones y sus redirecciones.
zones history
zones history <zona> [<versión>] [--limit N] [--before V]Sin <versión>: las versiones de la zona, de la más reciente a la más antigua, con fecha, autor, acción y motivo (una vuelta atrás indica [revierte a N]). Con <versión>: los datos de esa versión y su instantánea completa. Funciona con el id de una zona borrada. Ver Ver el historial.
| Opción | Significado |
|---|---|
--limit N | Como mucho N versiones (50 por defecto en la API, máximo 500). |
--before V | Solo las versiones anteriores a V. |
zones diff
zones diff <zona> <desde> [<hasta>]Qué cambió de la versión <desde> a <hasta> (por defecto, la actual), una línea por cambio.
zones propagation
zones propagation <zona>La versión deseada y, para cada nodo de borde que sirve la zona, su estado, la versión aplicada, desde cuándo está pendiente, el retraso y la última consulta. Ver Propagación al borde.
Cambiar
zones add
zones add <nombre> [--mode delegated|external] --reason "…"Da de alta una zona (versión 1).
| Opción | Significado |
|---|---|
--mode delegated | Por defecto. OpenWAF sirve el DNS de la zona en cuanto la delegas en los servidores de nombres que indica zones show. |
--mode external | Tu DNS se queda donde está. La zona se activa al publicar su registro TXT de propiedad (ver zones show) y tú apuntas cada nombre con proxy al borde. |
zones set
zones set <zona> clave=valor … --reason "…" [--wait]
zones set <zona> --host <nombre> clave=valor … [--unset <clave>]… --reason "…" [--wait]Cambia los ajustes de borde de la zona con argumentos clave=valor. Con --host cambia los ajustes propios de un nombre de la zona, que sustituyen a los de la zona para ese nombre.
| Opción | Significado |
|---|---|
--host <nombre> | Cambiar los ajustes de este nombre (completo) en lugar de los de la zona. |
--unset <clave> | Con --host: el nombre deja de tener esta clave propia y vuelve a heredarla de la zona. Repetible. |
--wait[=120s] | Esperar a la propagación. |
Algunos ejemplos, por área:
| Área | Ejemplo |
|---|---|
| WAF | waf_level=high, mode=active |
| HSTS | hsts.max_age=31536000 |
| Origen | origin.port=8443 (con --host), origin.tls_verify=full_strict, origin.server_name=origin.example.com, origin.client_cert:=true |
| Caché | cache.enabled:=true, cache.query.mode=ignore, cache.rules:='[…]' |
| 103 Early Hints | early_hints.enabled:=true, early_hints.mode=html_head, early_hints.extra_origins:='["https://cdn.example.com"]' |
| Medición de usuarios reales | rum.enabled=true, rum.sample_rate=0.25, rum.exclude_paths=/admin,/wp-login.php |
| Agentes de IA | ai_agents.enabled=true, ai_agents.mode=log o enforce, ai_agents.template=search_ok_block_training, verified_only o block_unverified_automation, ai_agents.policy.ai_training=block, ai_agents.bot_overrides=gptbot:block,ccbot:allow, ai_agents.trap.enabled=true, ai_agents.endpoints:='[…]' |
| Redirecciones | redirects:='[…]' (sustituye la lista entera) |
| Límites de peticiones | rate_rules:='[…]' (sustituye la lista entera; ratelimit cambia una regla cada vez) |
Con --host, los early_hints, ai_agents y rate_rules de un nombre sustituyen enteros a los de la zona. La lista completa de ajustes y sus valores está en la referencia de la API.
openwaf-cloud ctl zones set example.com waf_level=high --reason "Subir el nivel del WAF" --wait
openwaf-cloud ctl zones set example.com --host api.example.com origin.port=8443 --reason "Puerto del origen de la API"
openwaf-cloud ctl zones set example.com --host api.example.com --unset origin.port --reason "Volver al puerto de la zona"zones revert
zones revert <zona> <versión> --reason "…" [--allow-missing-certs] [--wait]Restaura la configuración de <versión> como una versión nueva. Ver Volver a una versión anterior.
| Opción | Significado |
|---|---|
--allow-missing-certs | Aplicar aunque algún sitio se quede sin certificado válido. |
--wait[=120s] | Esperar a la propagación. |
zones set-client
zones set-client <zona> <cliente|-> --reason "…" [--wait]Asigna la zona a un cliente final (por nombre o id) o, con -, le quita el cliente. Requiere una credencial de toda la organización.
zones merge
zones merge <hija> --into <padre> --reason "…"Fusiona una zona en otra: los nombres, registros y ajustes de la hija pasan a la padre. La simulación enseña, nombre por nombre, que la configuración servida sigue siendo equivalente, y la fusión solo se aplica si lo es. La hija queda en solo lectura y se conserva 14 días para poder deshacer la fusión. Requiere un administrador de la organización.
zones unmerge
zones unmerge <hija> --reason "…"Deshace una fusión mientras la padre no haya cambiado desde entonces: las dos zonas vuelven a sus versiones de antes de la fusión. Requiere un administrador de la organización.
zones rm
zones rm <zona> --reason "…"Borra la zona con sus registros, ajustes y reglas; OpenWAF deja de servir su DNS y sus sitios. Su historial se conserva y termina con una versión zone.delete.