← Cloudflare Fundamentals / fundamentals / manage-domains
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:
- Mít více domén namapovaných na jednu kanonickou doménu (běžné u domén v různých zemích, například
.com.au,.co.uk- které chcete chránit pomocí Cloudflare). - Jste partner ↗, agenturou nebo IT poradenskou firmou a spravujete více domén jménem svých zákazníků.
- Přesouváte existující sadu webů do Cloudflare.
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:
-
Existující účet Cloudflare.
-
Příkazový řádek s
curl -
Cloudflare API token s jedním z následujících oprávnění:
- Na úrovni zóny
Administrator - Na úrovni zóny
Zone: EditaDNS: Edit - Na úrovni účtu
Domain Administrator
- Na úrovni zóny
-
Aby bylo zakázáno DNSSEC pro každou doménu u svého registrátora (tam, kde jste doménu zakoupili).
Pokyny k DNSSEC podle poskytovatele
Nejde o vyčerpávající seznam, ale následující odkazy vám mohou pomoct:
1. Přidejte domény
- 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. - Vytvořte skript bash
add-multiple-zones.sha přidejte následující. Přidejtedomains.txtdo 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- Otevřete příkazový řádek a spusťte:
bash add-multiple-zones.shPo 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 .
done2. 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:
- Upravte svůj skript
add-multiple-zones.shpro vytisknutí souboru CSV s daty zCreate ZoneJSON 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 |
- 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.