Cloudflare Docs
Support
Support
Visit Support on GitHub
Set theme to dark (⇧+D)

Cómo añadir varios sitios en Cloudflare mediante automatización

​​ Información general

Si deseas añadir simultáneamente varios sitios (más de 10) a Cloudflare, puedes hacerlo mediante la API de Cloudflare. Este enfoque puede ser útil si se cumplen las siguientes condiciones:

  • Tienes varios dominios que se asignan a un único dominio canónico, p. ej., dominios de diferentes países (.com.au, .co.uk, etc.) que deseas proteger con Cloudflare.
  • Eres una agencia o un consultor de TI y gestionas varios dominios en nombre de tus clientes (nota: nuestro Programa de socios podría interesarte).
  • Estás trasladando un conjunto de sitios existentes a Cloudflare.

Con la API, podrás añadir varios sitios de forma rápida y eficiente, especialmente si ya conoces cómo cambiar tus servidores de nombresañadir un registro DNS.


​​ Requisitos previos

Para añadir varios sitios en Cloudflare mediante automatización, necesitarás:


​​ Cómo incorporar dominios mediante la API

Cloudflare dispone de una API con todas las funciones ( documentación) que te permiten automatizar la creación de nuevos dominios, además de configurar registros DNS, reglas de página y distintas configuraciones de seguridad. Utilizaremos esta API para automatizar la incorporación de varios dominios de una sola vez.

Abre tu aplicación Terminal (p. ej. Terminal o Terminal.app) y configura tu clave de API y correo electrónico:

export CF_API_EMAIL=you@example.comexport CF_API_KEY=abc123def456ghi789

A continuación, escribiremos un bucle de muestra “for” que utiliza el nombre de cada dominio. 

for domain in $(cat domains.txt); do \ curl -X POST -H "X-Auth-Key: $CF_API_KEY" -H "X-Auth-Email: $CF_API_EMAIL" \ -H "Content-Type: application/json" \ "https://api.cloudflare.com/client/v4/zones" \ --data '{"account": {"id": "id_of_that_account"}, "name":"'$domain'","jump_start":true}'; done

La clave “jump_start” hará que Cloudflare intente detectar automáticamente los registros DNS comunes, p. ej. “www”, “mail”, “blog” y muchos otros, para que no tengas que configurarlos a mano (aun así, debes confirmar que hemos encontrado todos).  id_of_that_account se encuentra en la aplicación Descripción general de Cloudflare, en ID de cuenta.

La API devolverá una respuesta, incluidos los  servidores de nombres que deberás cambiar en el registrador (en el que has registrado el dominio).

{ "result": { "id": "abc123def456ghi789", "name": "ejemplo.com", "status": "pending", "paused": false, "type": "full", "development_mode": 0, "name_servers": [ "chad.ns.cloudflare.com", "lucy.ns.cloudflare.com" ], "original_name_servers": [ "ns-cloud-e1.googledomains.com", "ns-cloud-e2.googledomains.com", "ns-cloud-e3.googledomains.com", "ns-cloud-e4.googledomains.com" ], "original_registrar": null, "original_dnshost": null, "modified_on": "2018-02-12T01:42:13.827149Z", "created_on": "2018-02-12T01:42:13.827149Z", "meta": { "step": 4, "wildcard_proxiable": false, "custom_certificate_quota": 0, "page_rule_quota": 3, "phishing_detected": false, "multiple_railguns_allowed": false }, "owner": { "id": "abc123def456ghi789", "type": "user", "email": "you@example.com" }, "account": { "id": "abc123def456ghi789", "name": "you@example.com" }, "permissions": [ "#access:edit", "#access:read", "#analytics:read", "#app:edit", "#billing:edit", "#billing:read", "#cache_purge:edit", "#dns_records:edit", "#dns_records:read", "#lb:edit", "#lb:read", "#logs:read", "#member:edit", "#member:read", "#organization:edit", "#organization:read", "#ssl:edit", "#ssl:read", "#subscription:edit", "#subscription:read", "#waf:edit", "#waf:read", "#worker:edit", "#worker:read", "#zone:edit", "#zone:read", "#zone_settings:edit", "#zone_settings:read" ], "plan": { "id": "0feeeeeeeeeeeeeeeeeeeeeeeeeeeeee", "name": "Free Website", "price": 0, "currency": "USD", "frequency": "", "is_subscribed": true, "can_subscribe": false, "legacy_id": "free", "legacy_discount": false, "externally_managed": false } }, "success": true, "errors": [], "messages": []}

Ten en cuenta la clave “name_servers” en la respuesta. Será el mismo par único para todos los sitios que añadas con tu cuenta, p. ej.:

"name_servers": [
"chad.ns.cloudflare.com",
"lucy.ns.cloudflare.com" ]

Copia los valores (¡no los de arriba!) y  actualiza los servidores de nombres en el registrador.


​​ Cómo añadir dominios mediante flarectl (herramienta CLI de Cloudflare)

También puedes añadir dominios con flarectl, la CLI oficial de Cloudflare. Puedes descargar  un paquete previamente generado para el sistema operativo (Windows, macOS/Darwin, Linux) y crear dominios con este.

Deberás configurar tus credenciales de API primero:

export CF_API_EMAIL=you@example.comexport CF_API_KEY=abc123def456ghi789

y, a continuación, ejecutar el siguiente comando en flarectl:

for domain in $(cat domains.txt); do flarectl zone create --zone=$domain --jumpstart=false; done

Ahora puedes obtener los mismos servidores de nombres para cada dominio mediante la “lista de zona flarectl”:

for domain in $(cat domains.txt); do flarectl zone info --zone=$domain; done

Si necesitas ayuda o asesoramiento, consulta la  Comunidad Cloudflare.


​​ Problemas frecuentes

En el caso de que se hayan mostrado errores en este proceso, es posible que no se haya registrado el dominio (o que se acabe de registrar), que sea un subdominio o que no sea válido. Los siguientes artículos incluyen los casos más comunes: