Automatisches Hinzufügen mehrerer Sites zu Cloudflare

Hier erfahren Sie, wie man mithilfe der Cloudflare API oder des Cloudflare-Befehlszeilentools flarectl mehrere Websites (10 oder mehr) gleichzeitig in Cloudflare aufnimmt.


Übersicht

Wenn Sie mehrere Sites (10 oder mehr) gleichzeitig in Cloudflare aufnehmen möchten, können Sie dies über die Cloudflare API tun. Mehrere Websites gleichzeitig aufzunehmen, kann aus folgenden Gründen nützlich sein:

Wenn Sie mehr als 50 Domains gleichzeitig aufzunehmen versuchen, werden alle weiteren Domains blockiert, bis sie verarbeitet wurden.
  • wenn Sie mehrere Domains betreiben, die auf eine einzige kanonische Domain zurückgreifen, z. B. Domains in verschiedenen Ländern (.com.au, .co.uk usw.), die Sie durch Cloudflare schützen möchten
  • wenn Sie eine Agentur oder IT-Beratung sind und im Auftrag Ihrer Kunden mehrere Domains verwalten (Hinweis: Sie sollten unser Partnerprogramm in Betracht ziehen!)
  • wenn Sie vorhandene Gruppe von Websites auf Cloudflare verschieben

Durch die Verwendung der API können Sie schnell und effizient mehrere Sites hinzufügen, insbesondere wenn Sie bereits damit vertraut sind, Ihre Nameserver zu ändern oder einen DNS-Eintrag hinzuzufügen.


Voraussetzungen

Mit Ihrem Cloudflare-Konto dürfen nicht mehr ausstehende Websites als aktive Websites verknüpft sein. Wir empfehlen Ihnen zu warten, bis die ausstehenden Websites verarbeitet wurden, bevor Sie weitere Domains hinzufügen.

Wenn Sie mehrere Websites automatisch in Cloudflare aufnehmen möchten, brauchen Sie:

  • ein bestehendes Konto bei Cloudflare (Registrieren / Anmelden)
  • Grundkenntnisse der Befehlszeile
  • Installiertes curl (bei macOS und Linux standardmäßig vorhanden)
  • Ihren API-Schlüssel für Cloudflare
  • eine Liste der Domains, die Sie hinzufügen möchten, jeweils in einer separaten Zeile (durch Zeilenumbruch getrennt) – z. B. „domains.txt“

Domains über die API aufnehmen

Cloudflare besitzt eine API mit vollem Funktionsumfang (siehe Dokumentation). Mit dieser API können automatisch neue Domains erstellt und DNS-Einträge, Page Rules und unsere umfangreichen Sicherheitseinstellungen konfiguriert werden. Wir werden diese API verwenden, um die gleichzeitige Aufnahme mehrerer Domains zu automatisieren.

Öffnen Sie Ihre Terminalanwendung (z. B. Terminal oder Terminal.app) und legen Sie Ihren API-Schlüssel und Ihre E-Mail-Adresse fest –

export CF_API_EMAIL=you@example.com
export CF_API_KEY=abc123def456ghi789

Dann schreiben wir eine einfache for-Schleife, die jeden Domainnamen übernimmt

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

Mit dem Schlüssel „jump_start“ wird Cloudflare automatisch nach üblichen DNS-Einträgen suchen, z. B. „www“, „mail“, „blog“ und viele andere, damit Sie diese nicht manuell konfigurieren müssen (Sie sollten sich trotzdem vergewissern, dass wir sie alle gefunden haben).

Die API gibt eine Antwort zurück, in der die Nameserver enthalten sind, die Sie bei Ihrem Registrar ändern müssen (bei dem Sie die Domain registriert haben).

{
"result": {
"id": "abc123def456ghi789",
> Host: 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": []
}

Beachten Sie den Schlüssel „name_servers“ in der Antwort. Dieses ist dasselbe eindeutige Paar für alle Websites, die Sie unter Ihrem Konto hinzufügen, z. B.

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

Kopieren Sie Ihre Werte (nicht die vorstehenden!) und aktualisieren Sie die Nameserver bei Ihrem Registrar.


Domains über flarectl (das Cloudflare-Befehlszeilentool) aufnehmen

Sie können Domains auch mit flarectl aufnehmen, dem offiziellen Befehlszeilentool von Cloudflare. Sie können ein vorbereitetes Paket für Ihr Betriebssystem (Windows, MacOS / Darwin, Linux) herunterladen und Domains erstellen, die dieses verwenden.

Sie müssen zuerst Ihre API-Anmeldeinformationen festlegen:

export CF_API_EMAIL=you@example.com
export CF_API_KEY=abc123def456ghi789

... und dann den folgenden Befehl in flarectl ausführen:

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

Danach können Sie die Nameserver für jede Domain über „flarectl zone list“ erhalten:

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

Hilfe oder Tipps dazu bekommen Sie in der Cloudflare Community.


Häufige Probleme

Wenn bei diesem Prozess Fehler ausgegeben werden, ist die Domain möglicherweise nicht registriert (oder gerade erst registriert), eine Subdomain oder anderweitig ungültig. Die folgenden Artikel behandeln die häufigsten Fälle:

Not finding what you need?

95% of questions can be answered using the search tool. This is the quickest way to get a response.

Powered by Zendesk