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

Como adicionar vários sites à Cloudflare via automação

Saiba como adicionar vários sites (+10) à Cloudflare de uma só vez usando a API da Cloudflare ou a ferramenta de CLI da Cloudflare, flarectl.

​​ Neste artigo


​​ Visão geral

Se você precisar adicionar vários sites (+10) à Cloudflare de uma só vez, poderá fazê-lo por meio da API da Cloudflare. Adicionar vários sites pode ser útil quando você:

  • Tiver vários domínios mapeados de volta para um único domínio canônico — por exemplo, domínios em diferentes países (.com.au, .co.uk etc) que você deseja proteger com a Cloudflare
  • For uma agência ou consultoria de TI e gerenciar vários domínios em nome de seus clientes (observação: nesse caso você deve avaliar o programa de Parceiros da Cloudflare)
  • Estiver transferindo um conjunto existente de sites para a Cloudflare

O uso da API permitirá que você adicione vários sites de forma rápida e eficiente, especialmente se já souber como alterar seus nameservers ou adicionar um registro de DNS.


​​ Pré-requisitos

Para adicionar vários sites à Cloudflare via automação, você precisará de:


​​ Adicionar domínios por meio da API

A Cloudflare tem uma API com muitos recursos ( documentação) que lhe permite automatizar a criação de novos domínios, além de configurar registros de DNS, regras de página e nossas muitas configurações de segurança. Usaremos essa API para automatizar o acréscimo de vários domínios ao mesmo tempo.

Abra o aplicativo do seu terminal (por exemplo, Terminal ou Terminal.app) e configure a chave e o e-mail da sua API:

export CF_API_EMAIL=voce@exemplo.comexport CF_API_KEY=abc123def456ghi789

Em seguida, escreveremos um loop for simples que leva cada nome de domínio 

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

A chave “jump_start” fará com que a Cloudflare tente automaticamente fazer uma triagem de registros DNS comuns — por exemplo, “www”, “mail”, “blog” e muitos outros — para que você não precise configurá-los manualmente (você ainda precisará confirmar que encontramos todos).  a id_dessa_conta pode ser encontrada no aplicativo Overview da Cloudflare, na guia ID da conta.

A API retornará uma resposta, incluindo os  nameservers que você precisará alterar no seu registrar (onde você registrou seu domínio).

{ "result": { "id": "abc123def456ghi789", "name": "example.com", "status": "pending", "paused": false, "type": "full", "development_mode": 0, "name_servers": [ "chad.ns.cloudflare.com", "lucy.ns.cloudflare.com" ], "name_servers_originais": [ "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": []}

Observe a chave “name_servers” na resposta. Esse par único será o mesmo para todos os sites adicionados à sua conta — por exemplo,

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

Copie seus valores (não os listados acima!) e  atualize os nameservers no seu registrar.


​​ Adicionar domínios por meio do flarectl (ferramenta de CLI da Cloudflare)

Você também pode adicionar domínios usando o flarectl, a CLI oficial da Cloudflare. Você pode  baixar um pacote pré-desenvolvido para o seu sistema operacional (Windows, macOS/Darwin, Linux) e criar domínios com ele.

Você precisará primeiro configurar suas credenciais da API:

export CF_API_EMAIL=voce@exemplo.comexport CF_API_KEY=abc123def456ghi789

… e, em seguida, execute o seguinte comando no flarectl:

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

Depois disso, você poderá obter os nameservers para cada domínio por meio da “flarectl zone list”:

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

Procure ajuda ou encontre dicas na  Comunidade da Cloudflare.


​​ Problemas comuns

Se algum erro foi retornado nesse processo, o domínio pode não ser registrado (ou ser apenas registrado), ser um subdomínio ou ser inválido de alguma outra forma. Os seguintes artigos abrangem os casos mais comuns: