← Dokumentace WAF / reference / legacy / old-rate-limiting
Upgrade rate limitingu (předchozí verze)
Cloudflare převedl všechna pravidla rate limitingu vytvořená v předchozí verze do nová verze pravidel rate limitingu.
Dashboard Cloudflare nyní zobrazuje všechna vaše pravidla rate limitingu v jediném seznamu.
Hlavní rozdíly
-
Model účtování: Předchozí verze Rate Limitingu byla účtována podle využití a byla dostupná jako doplněk na všech plánech, zatímco nová verze je součástí plánů Cloudflare. U plánů Enterprise je Rate Limiting oceňován podle celkového smluvního HTTP provozu. Nová pravidla rate limitingu nabízejí všechny schopnosti dostupné v předchozí verzi rate limitingu spolu s několika dalšími funkcemi.
-
Pokročilé výrazy pro rozsah: Předchozí verze Rate Limitingu umožňovala omezit pravidla na jedinou cestu a metodu požadavku. V nové verzi můžete psát pravidla podobná Vlastní pravidla WAF, kombinující více parametrů HTTP požadavku.
-
Rozsah čítače: Nová verze rate limitingu používá čítače omezené na jednotlivá datová centra, s
cf.colo.idvždy zahrnutým jako charakteristika. To znamená, že se prahy mohou chovat odlišně u provozu rozloženého mezi více lokalit Cloudflare. Datová centra ve stejné geografické lokalitě sdílejí čítače. Další informace viz Jak Cloudflare určuje frekvenci požadavků. -
Oddělené počítací a mitigační výrazy: V nové verzi Rate Limitingu jsou výrazy pro počítání a mitigaci oddělené (pro zákazníky s plány Business a Enterprise). Výraz pro počítání určuje, které požadavky se používají pro výpočet frekvence. Výraz pro mitigaci určuje, které požadavky budou mitigovány po dosažení prahu. Pomocí těchto oddělených výrazů můžete sledovat frekvenci požadavků na konkrétní cestě, například
/logina jakmile IP adresa překročí práh, blokovat každý požadavek ze stejné IP směřující na vaši doménu. -
Další dimenze počítání (pouze Advanced Rate Limiting): Stejně jako v předchozí verzi Rate Limitingu mají zákazníci s novým Rate Limitingem k dispozici rate limiting založený na IP adrese, kdy Cloudflare počítá požadavky podle zdrojové IP adresy příchozích požadavků. Kromě rate limitingu založeného na IP adrese mohou zákazníci s novým Rate Limitingem, kteří mají předplacen Advanced Rate Limiting, seskupovat požadavky podle dalších charakteristik, jako je hodnota API klíčů, cookies, session hlaviček, ASN, query parametrů nebo konkrétního pole v JSON těle. Viz Osvědčené postupy pro rate limiting pro příklady.
-
Počet pravidel podle plánu: Kromě konkrétních funkcí v jednotlivých plánech Cloudflare se v nové verzi Rate Limitingu liší i počet pravidel na plán (informace o limitech nové verze najdete v Pravidla rate limitingu):
Produkt Free Pro Business Enterprise s doplňkem RL,
nebo ekvivalentní plánRate Limiting (předchozí verze) 1 10 15 100 Rate Limiting (nová verze) 1 2 5 100 Zákazníci Enterprise musí mít ve smlouvě application security, aby získali přístup k pravidlům rate limitingu.
Viz Důležité poznámky k upgradu pro podrobnosti o tom, jak Cloudflare v případě potřeby po upgradu upraví vaši kvótu pravidel.
Další podrobnosti o rozdílech mezi starými a novými pravidly rate limitingu najdete v náš blogový příspěvek ↗.
Důležité poznámky k upgradu
-
Po upgradu nebudete moci vytvářet ani upravovat pravidla rate limitingu, dokud budete nad novou kvótou pravidel pro váš plán Cloudflare. Počet pravidel rate limitingu zahrnutých ve vašem plánu Cloudflare může být nižší než dříve. Pokud nový limit překračujete, budete muset buď přejít na plán s vyšším počtem pravidel, nebo mazat existující pravidla, dokud jejich počet nebude menší nebo roven novému maximálnímu počtu pravidel pro váš plán.
-
Vlastní timeouty budou zaokrouhleny na nejbližší podporovaný timeout. Vlastní počítací období i vlastní mitigation timeouty budou zaokrouhleny nahoru nebo dolů na nejbližší počítací období a mitigation timeout podporované v nové verzi (viz Dostupnost s podrobnostmi o dostupných hodnotách pro jednotlivé plány).
Pokud jste například měli pravidlo rate limitingu s mitigačním timeoutem 55 sekund, bude tento timeout zaokrouhlen nahoru na jednu minutu (nejbližší hodnota).
Zákazníci Enterprise budou moci po upgradu nastavit pro pravidlo vlastní mitigation timeout, tato konfigurace je však dostupná pouze přes API. -
Zákazníci na plánu Business (nebo vyšším) budou mít přístup k IP s podporou NAT charakteristiku. Tato charakteristika slouží k řešení situací, jako jsou požadavky za NATem sdílející stejnou IP adresu.
-
Existující vlastní pravidla přeskakující starý Rate Limiting nebudou aktualizována tak, aby místo toho přeskakovala novou verzi. Cloudflare nebude aktualizovat existující vlastní pravidla, která přeskakují předchozí verzi Rate Limitingu (skip pravidla s možností Další komponenty k přeskočení > Pravidla rate limitingu (předchozí verze)) k přeskočení nové verze.
U existujících pravidel skip (vlastních pravidel s Skip akci), budete je muset v případě potřeby ručně aktualizovat, aby přeskakovala novou verzi pravidel rate limitingu (Komponenty WAF k přeskočení > Všechna pravidla rate limitingu možnost) namísto staré implementace.
Relevantní změny v dashboardu
Pokud jste měli přístup k předchozí verzi Cloudflare Rate Limitingu, nyní najdete všechna pravidla rate limitingu ve stejném seznamu v Security > WAF > Pravidla rate limitingu.
Pravidla rate limitingu vytvořená v předchozí verzi jsou označena tagem Previous version v Cloudflare dashboardu.
Pokud používáte nový dashboard zabezpečení aplikací, zobrazí se pouze pravidla rate limitingu, která byla upgradována na novou verzi, a to v Security > Bezpečnostní pravidla.
Pokud pravidlo s tímto tagem upravíte v dashboardu, nebudete jej již moci upravovat pomocí API a Terraform resource pro předchozí verzi pravidel rate limitingu. V takovém případě budete muset začít používat Rulesets API nebo cloudflare_ruleset ↗ Terraform resource pro tento účel. Viz Relevantní změny pro uživatele API a Relevantní změny pro uživatele Terraformu pro více informací.
Relevantní změny pro uživatele API
Předchozí Rate Limiting API je zastaralé. Toto API již není od 2025-06-15 podporováno. Musíte aktualizovat veškerou automatizaci založenou na předchozí Rate Limiting API do Rulesets API abyste předešli problémům.
Nová pravidla rate limitingu jsou založena na Ruleset Engine. Ke konfiguraci těchto pravidel rate limitingu přes API musíte použít Rulesets API. Protože pravidla rate limitingu vytvořená v předchozí verzi byla upgradována na novou verzi, toto API vrátí i tato pravidla vytvořená v nové verzi.
The Rulesets API je jediné API, které umožňuje vytvářet, upravovat a mazat jakékoli pravidlo rate limitingu, bez ohledu na verzi implementace, ve které jste pravidlo vytvořili. předchozí Rate Limiting API bude fungovat pouze s pravidly rate limitingu vytvořenými v předchozí verzi, která jste od jejich upgradu na novou verzi neupravili v dashboardu ani nezměnili přes nové API / Terraform resource.
Do data ukončení API můžete používat předchozí Rate Limiting API k vytváření, úpravám a mazání pravidel rate limitingu vytvořených v předchozí verzi (kterou Cloudflare povýšil na novou verzi). Pokud však pomocí Rulesets API upravíte pravidlo vytvořené v předchozí verzi, nebo takové pravidlo změníte v Cloudflare dashboardu – včetně změny pořadí pravidel – nebudete již moci toto pravidlo (povýšené z předchozí verze a poté aktualizované přes Rulesets API) spravovat starými API operacemi. V takovém případě budete muset zcela přejít na Rulesets API pro správu tohoto konkrétního pravidla.
Relevantní změny pro uživatele Terraformu
The cloudflare_rate_limit Terraform resource je zastaralý. Tento zdroj již není od 2025-06-15 podporován. Konfiguraci rate limitingu v Terraformu musíte ručně aktualizovat z cloudflare_rate_limit ↗ resources na cloudflare_ruleset ↗ resources, abyste předešli problémům.
Nová pravidla rate limitingu jsou založena na Ruleset Engine. Pro konfiguraci těchto pravidel rate limitingu pomocí Terraformu musíte použít cloudflare_ruleset Terraform resource.
The cloudflare_ruleset ↗ Terraform resource je jediný resource, který umožňuje vytvářet, upravovat a mazat jakékoli pravidlo rate limitingu bez ohledu na verzi implementace, ve které jste pravidlo vytvořili. cloudflare_rate_limit Terraform resource bude fungovat pouze s pravidly rate limitingu vytvořenými v předchozí verzi, která jste od jejich převedení na novou verzi neupravovali v dashboardu ani prostřednictvím nového API/Terraform resource.
Do data ukončení podpory cloudflare_rate_limit Terraform resource, můžete tento resource používat k vytváření, úpravám a mazání pravidel rate limitingu vytvořených v předchozí verzi (která Cloudflare převedl na novou verzi). Pokud však začnete používat cloudflare_ruleset Terraform resource ke správě pravidla vytvořeného v předchozí verzi, nebo pokud takové pravidlo upravíte v dashboardu Cloudflare – včetně změny pořadí pravidel – nebudete již moci toto pravidlo (upgradované z předchozí verze a poté aktualizované novým resource) spravovat starým Terraform resource. V takovém případě budete muset zcela přejít na cloudflare_ruleset Terraform zdroj pro správu tohoto konkrétního pravidla.
Viz dokumentace Terraformu pro příklady konfigurace nových pravidel rate limitingu pomocí Terraformu.
Nahrazení konfigurace pomocí cf-terraforming
Můžete použít cf-terraforming ↗ nástroj k vygenerování nové Terraform konfigurace pro pravidla rate limitingu vytvořená v předchozí verzi. Poté můžete nové resources importovat do Terraform state.
Doporučené kroky pro nahrazení staré konfigurace rate limitingu v Terraformu novou konfigurací sady pravidel jsou následující.
-
Spuštěním následujícího příkazu vygenerujete všechny konfigurace sad pravidel pro zónu:
cf-terraforming generate --zone <ZONE_ID> --resource-type "cloudflare_ruleset"resource "cloudflare_ruleset" "terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31" { kind = "zone" name = "default" phase = "http_ratelimit" zone_id = "<ZONE_ID>" rules { # (...) } # (...) } # (...) -
Předchozí příkaz může vrátit další konfigurace sad pravidel pro jiné produkty Cloudflare, které jsou také založeny na Ruleset Engine. Protože aktualizujete konfiguraci svých pravidel rate limitingu, ponechte pouze Terraform resource pro
http_ratelimitfáze a uložte jej do.tfkonfiguračním souboru. Úplný název resource budete potřebovat v dalším kroku. -
Importujte
cloudflare_rulesetresource, který jste dříve identifikovali, do Terraform state pomocíterraform importpříkaz. Například:terraform import cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31 zone/<ZONE_ID>/3c0b456bc2aa443089c5f40f45f51b31cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Importing from ID "zone/<ZONE_ID>/3c0b456bc2aa443089c5f40f45f51b31"... cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Import prepared! Prepared cloudflare_ruleset for import cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Refreshing state... [id=3c0b456bc2aa443089c5f40f45f51b31] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. -
Spusťte
terraform plank ověření, že Terraform nyní kontroluje stav novýchcloudflare_rulesetresource, vedle dalších existujících resources již spravovaných Terraformem. Například:terraform plancloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Refreshing state... [id=3c0b456bc2aa443089c5f40f45f51b31] [...] cloudflare_rate_limit.my_rate_limiting_rules: Refreshing state... [id=0580eb5d92e344ddb2374979f74c3ddf] [...] -
Odstraňte veškerý stav související s pravidly rate limitingu nakonfigurovanými přes staré
cloudflare_rate_limitresource ze svého stavu Terraformu:-
Spuštěním následujícího příkazu najdete všechny resources související s pravidly rate limitingu (předchozí verze):
terraform state list | grep -E '^cloudflare_rate_limit\.'cloudflare_rate_limit.my_rate_limiting_rules -
Spusťte
terraform state rm ...příkaz v režimu dry-run, abyste pochopili dopad odstranění těchto resources bez provedení jakýchkoli změn:terraform state rm -dry-run cloudflare_rate_limit.my_rate_limiting_rulesWould remove cloudflare_rate_limit.my_rate_limiting_rules -
Pokud dopad vypadá správně, spusťte stejný příkaz bez
-dry-runparametr ke skutečnému odstranění resources ze stavu Terraformu:terraform state rm cloudflare_rate_limit.my_rate_limiting_rulesRemoved cloudflare_rate_limit.my_rate_limiting_rules Successfully removed 1 resource instance(s).
-
-
Po odstranění
cloudflare_rate_limitresources ze stavu Terraformu, odstraňte všechny tyto resources z.tfkonfigurační soubory. -
Spusťte
terraform plank ověření, že se resources smazané z konfiguračních souborů již nezobrazují. Neměli byste mít žádné čekající změny.terraform plancloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Refreshing state... [id=3c0b456bc2aa443089c5f40f45f51b31] [...] No changes. Your infrastructure matches the configuration. Terraform has compared your real infrastructure against your configuration and found no differences, so no changes are needed.
Podrobnosti o importu zdrojů Cloudflare do Terraformu a použití cf-terraforming nástroj, podívejte se na následující zdroje:
Další zdroje
Více informací o nové implementaci rate limitingu, včetně dostupných funkcí v jednotlivých plánech Cloudflare, najdete v Pravidla rate limitingu.
Cloudflare nabízí také pokročilou verzi Rate Limitingu (Advanced Rate Limiting), která je dostupná zákazníkům Enterprise. Více informací najdete v Představení Advanced Rate Limitingu ↗ na blogu.
Více o tom, co s novým rate limitingem můžete dělat, najdete v Osvědčené postupy pro rate limiting.