INTEGRITY Dokumentace

Přidání více webů pomocí automatizace

Chcete-li přidat více webů do Cloudflare najednou a efektivněji, můžete to udělat prostřednictvím Cloudflare API.

Přidání více webů může být užitečné, pokud:

Používání API vám umožní rychle a efektivně přidat více webů, zejména pokud již znáte jak změnit nameservery nebo přidat záznam DNS.

Tento návod předpokládá, že domény budou přidány pomocí nastavení primárního DNS (úplné).


Předpoklady

Chcete-li přidat více webů do Cloudflare pomocí automatizace, potřebujete:


1. Přidejte domény

  1. Vytvořte seznam domén, které chcete přidat, každou na samostatném řádku (oddělené novým řádkem), a uložte je do souboru, například domains.txt.
  2. Vytvořte skript bash add-multiple-zones.sh a přidejte následující. Přidejte domains.txt do stejného adresáře nebo odpovídajícím způsobem aktualizujte jeho cestu.
  for domain in $(cat domains.txt); do
    printf "Adding ${domain}:\n"

    curl https://api.cloudflare.com/client/v4/zones \
    --header "Authorization: Bearer <API_TOKEN>" \
    --header "Content-Type: application/json" \
    --data '{
      "account": {
        "id":"<ACCOUNT_ID>"
      },
      "name": "'"$domain"'",
      "type": "full"
    }'

    printf "\n\n"
  done
  1. Otevřete příkazový řádek a spusťte:
bash add-multiple-zones.sh

Po přidání domény bude mít stav Pending Nameserver Update stav.

Další možnosti

jq

jq je nástroj příkazové řádky, který analyzuje a formátuje výstupy JSON.

Tento nástroj je nutný k dokončení jakýchkoli dalších volitelných kroků v tomto návodu.

echo '{"foo":{"bar":"foo","testing":"hello"}}' | jq .

Viz jq dokumentace s dalšími informacemi.

Rychlé skenování

Cloudflare nabízí rychlé skenování která pomáhá naplnit DNS záznamy zóny. Toto skenování je pokusem s maximálním úsilím založeným na předdefinovaném seznamu běžně používaných názvů a typů záznamů.

Toto volání API vyžaduje ID domény. Najdete ho na následujících místech:

Použití jq podle první možnosti výše upravte svůj skript add-multiple-zones.sh pro zjištění ID domény a následné spuštění volání API pro rychlé skenování DNS záznamů.

  for domain in $(cat domains.txt); do
    printf "Adding ${domain}:\n"

    add_output=`curl https://api.cloudflare.com/client/v4/zones \
      --header "Authorization: Bearer <API_TOKEN>" \
      --header "Content-Type: application/json" \
      --data '{
        "account": {
          "id":"<ACCOUNT_ID>"
        },
        "name": "'"$domain"'",
        "type": "full"
      }'`

    echo $add_output | jq .

    domain_id=`echo $add_output | jq -r .result.id`

    printf "\n\n"
    printf "DNS quick scanning ${domain}:\n"

    scan_output=`curl --request POST https://api.cloudflare.com/client/v4/zones/$domain_id/dns_records/scan \
      --header "X-Auth-Email: <EMAIL>" \
      --header "X-Auth-Key: <API_KEY>"`

    echo $scan_output | jq .

  done

2. Aktualizujte nameservery

Aby byla doména na Cloudflare aktivní, musí být aktivována buď v Full setup nebo Partial setup. Následující skript vypíše seznam nameserverů přiřazených ke každé doméně.

Nameservery vaší zóny najdete na těchto místech:

  1. Upravte svůj skript add-multiple-zones.sh pro vytisknutí souboru CSV s daty z Create Zone JSON odpověď.
  for domain in $(cat domains.txt); do
    printf "Adding ${domain}:\n"

    add_output=`curl https://api.cloudflare.com/client/v4/zones \
      --header "Authorization: Bearer <API_TOKEN>" \
      --header "Content-Type: application/json" \
      --data '{
        "account": {
          "id": "<ACCOUNT_ID>"
        },
        "name": "'"$domain"'",
        "type": "full"
      }'`

    # Create csv of nameservers
    echo $add_output | jq -r '[.result.name,.result.id,.result.name_servers[]] | @csv' >> /tmp/domain_nameservers.csv

    domain_id=`echo $add_output | jq -r .result.id`

    printf "\n\n"
    printf "DNS quick scanning ${domain}:\n"

    scan_output=`curl --request POST https://api.cloudflare.com/client/v4/zones/$domain_id/dns_records/scan \
      --header "X-Auth-Email: <EMAIL>" \
      --header "X-Auth-Key: <API_KEY>"`

    echo $scan_output | jq .

  done

  printf "name_servers are saved in /tmp/domain_nameservers"
  cat /tmp/domain_nameservers.csv
ID ZONE NAME SERVERS
<ZONE_ID> example.com arya.ns.cloudflare.com, tim.ns.cloudflare.com
  1. Použijte hodnoty v NAME SERVERS sloupec na aktualizujte nameservery u registrátora každé domény.

Omezení

Počet domén, které lze přidat najednou, je omezený: registrovat lze maximálně 25 domén za 10 minut.

Pokud navíc máte více než 50 domén a z nich je více domén ve stavu čekajícím než aktivních, nebude vám umožněno přidávat další. Doporučujeme počkat, až budou čekající weby aktivovány, a teprve poté přidávat další.

Časté problémy

Pokud se během tohoto procesu vyskytly nějaké chyby, doména nemusí být registrována (nebo je registrována teprve nedávno), může se jednat o subdoménu, nebo může být jinak neplatná. Další podrobnosti najdete v Nelze přidat doménu.