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

Ajout de plusieurs sites à Cloudflare via Automation

Apprenez comment ajouter plusieurs sites (10 et plus) à la fois à Cloudflare avec l’API Cloudflare ou l’interface de ligne de commande de Cloudflare, flarectl.

​​ Dans cet article


​​ Aperçu

Si vous devez à ajouter plusieurs sites (10 et plus) à la fois dans Cloudflare, vous pouvez le faire via l’API Cloudflare. Ajouter plusieurs sites peut être utile dans les cas de figure suivants :

  • Vous avez plusieurs domaines mappés vers un domaine canonique unique, par exemple, des domaines dans différents pays (.com.au, .co.uk, etc.) que vous souhaitez protéger avec Cloudflare
  • Vous êtes une agence ou un professionnel de conseil en informatique et vous gérez plusieurs domaines pour le compte de vos clients (remarque : informez-vous sur le programme de partenariat de Cloudflare !)
  • Vous transférez un ensemble de sites existant vers Cloudflare

L’utilisation de l’API permet d’ajouter plusieurs sites rapidement et efficacement, en particulier si vous savez déjà comment changer vos serveurs de noms ou ajouter un enregistrement DNS.


​​ Conditions préalables

Pour ajouter plusieurs sites à Cloudflare via Automation, vous devez disposer :


​​ Ajout de domaines via l’API

Cloudflare dispose d’une API dotée de fonctionnalités complètes ( documentation) qui vous permet d’automatiser la création de nouveaux domaines, mais également de configurer des enregistrements DNS, des règles Page Rules et les nombreux paramètres de sécurité de la solution. Nous utiliserons cette API pour automatiser l’ajout de plusieurs domaines à la fois.

Ouvrez votre application de terminal (par exemple, Terminal ou Terminal.app), puis configurez votre clé d’API et votre adresse e-mail :

export CF_API_EMAIL=you@example.comexport CF_API_KEY=abc123def456ghi789

Ensuite, nous écrirons une simple boucle FOR pour traiter chaque nom de domaine 

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

Avec la commande « jump_start », Cloudflare tentera automatiquement de rechercher des enregistrements DNS courants, par exemple « www », « mail », « blog » et bien d’autres, afin que vous n’ayez pas à les configurer manuellement (vérifiez néanmoins que nous les avons tous trouvés).  id_of_that_account se trouve dans l’application Cloudflare Overview sous la rubrique Account ID.

L’API renverra une réponse contenant les serveurs de noms que vous devrez modifier au niveau de votre serveur d’inscription (sur lequel vous avez enregistré le domaine).

{ "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" ], "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": []}

Notez la clé « name_servers » dans la réponse. Ce seront les mêmes paires uniques pour tous les sites que vous ajoutez avec votre compte - exemple

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

Copiez vos valeurs (pas celles ci-dessus !) et mettez à jour les serveurs de noms au niveau de votre serveur d’inscription.


​​ Ajout de domaines via flarectl (interface de ligne de commande de Cloudflare)

Vous pouvez également ajouter des domaines avec flarectl, l’interface en ligne de commande officielle de Cloudflare. Vous pouvez télécharger un package préconstruit pour votre système d’exploitation (Windows, macOS/Darwin, Linux) et créer des domaines avec celui-ci.

Vous devez tout d’abord configurer les identifiants de votre API :

export CF_API_EMAIL=you@example.comexport CF_API_KEY=abc123def456ghi789

…puis exécuter la commande suivante dans flarectl :

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

Vous pouvez ensuite obtenir les serveurs de noms pour chaque domaine via « flarectl zone list » :

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

Demandez de l’aide ou des conseils à la communauté Cloudflare.


​​ Problèmes fréquents

Si des erreurs apparaissent pendant ce processus, le domaine peut ne pas être enregistré (ou avoir été enregistré à l’instant), ne pas être un sous-domaine ou ne pas être valide. Les articles suivants présentent les cas les plus courants :