Ajouter plusieurs sites à Cloudflare grâce à l’automatisation

Apprenez comment ajouter plusieurs sites (10+) dans Cloudflare d’un seul coup en utilisant l’API de Cloudflare, ou l’outil CLI de Cloudflare, flarectl.


Présentation

Si vous cherchez à ajouter plusieurs sites (+ de 10) à Cloudflare en une seule fois, vous pouvez le faire via l’API Cloudflare. Ajouter plusieurs sites peut être utile lorsque :

Si vous essayez d'ajouter plus de 50 domaines à la fois, tous les domaines supplémentaires seront bloqués jusqu'à ce qu'ils soient pris en compte.
  • 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 consultant en informatique IT et gérez plusieurs domaines pour le compte de vos clients (remarque : jetez un œil à notre programme partenaire !)
  • Vous déplacez un ensemble de sites existant vers Cloudflare

L’utilisation de l’API vous permettra 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

Vous ne pouvez pas avoir plus de sites en attente que de sites actifs associés à votre compte Cloudflare. Nous vous recommandons d'attendre que vos sites en attente aient été pris en compte avant d'ajouter des domaines supplémentaires.

Pour ajouter plusieurs sites à Cloudflare via Automation, il vous faudra :

  • Un compte Cloudflare (s’inscrire/se connecter)
  • Une connaissance basique de la ligne de commande
  • cURL installé (par défaut sur macOS et Linux)
  • Votre clé API Cloudflare
  • Une liste des domaines que vous souhaitez ajouter, chacun sur une ligne séparée (par une nouvelle ligne) - p. ex. « domaines.txt »

Ajouter des domaines via l’API

Cloudflare possède une API entièrement équipée (documentation) qui vous permet d’automatiser la création de nouveaux domaines, mais aussi de configurer des enregistrements DNS, des Pages Rules ainsi que nos nombreux paramètres de sécurité. Nous utiliserons cette API pour automatiser l’ajout en une seule fois de plusieurs domaines.

Ouvrez votre application de terminal (Terminal ou Terminal.app) et configurez votre clé d’API et votre e-mail -

export CF_API_EMAIL=vous@exemple.com
export CF_API_KEY=abc123def456ghi789

Ensuite, nous écrirons une simple boucle FOR qui prendra 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

La clé « jump_start » forcera Cloudflare à rechercher automatiquement des enregistrements DNS communs (comme www, mail, blog et autres) pour vous éviter de les configurer manuellement (vous devrez quand même confirmer qu’ils ont tous été trouvés).

L’API renverra une réponse comprenant les serveurs de noms que vous devrez changer au niveau de votre registar (où vous avez enregistré le domaine).

{
"result": {
"id": "abc123def456ghi789",
"name": "exemple.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": vous@exemple.com"
},
"account": {
"id": "abc123def456ghi789",
"name": vous@exemple.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 registar.


Ajouter des domaines via flarectl (ILC de Cloudflare)

Vous pouvez également ajouter des domaines en utilisant 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 l’utiliser pour créer des domaines.

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

export CF_API_EMAIL=vous@exemple.com
export 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

Après cela, vous pourrez obtenir les serveurs de noms de 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 surviennent pendant ce processus, le domaine peut ne pas être enregistré (ou simplement enregistré), être un sous-domaine ou ne pas être valide. Les articles suivants présentent les cas les plus courants : 

Vous n'avez toujours pas trouvé ce que vous cherchez ?

95% des questions peuvent être répondues en utilisant l'outil de recherche. C'est le moyen le plus rapide d'obtenir une réponse.

Réalisé par Zendesk