← Dokumentace WAF / reference / legacy / old-rate-limiting
Aktualizace Rate limiting (předchozí verze)
Cloudflare převedl všechna pravidla omezení frekvence požadavků vytvořená v předchozí verze do nová verze pravidel omezení frekvence požadavků.
Dashboard Cloudflare nyní zobrazuje všechna vaše pravidla omezení frekvence požadavků v jednom seznamu.
Hlavní rozdíly
-
Model fakturace: Předchozí verze Rate Limiting se fakturovala podle využití a byla dostupná jako doplněk ve všech plánech, zatímco nová verze je součástí plánů Cloudflare. U plánů Enterprise se Rate Limiting zpoplatňuje podle celkového smluvního objemu provozu HTTP. Nová pravidla omezení frekvence požadavků nabízejí všechny možnosti předchozí verze a navíc několik dalších funkcí.
-
Pokročilé výrazy rozsahu: Předchozí verze Rate Limiting umožňovala omezit rozsah pravidel na jedinou cestu a metodu požadavku. V nové verzi můžete psát pravidla podobná WAF custom rules, čímž kombinuje více parametrů požadavku HTTP.
-
Rozsah čítače: Nová verze omezení frekvence požadavků používá čítače v rozsahu jednotlivých datacenter, s
cf.colo.idvždy zahrnuta jako charakteristika. To znamená, že prahové hodnoty se mohou chovat odlišně u provozu rozloženého mezi více lokalitami Cloudflare. Datacentra ve stejné geografické lokalitě sdílejí čítače. Další informace najdete v Jak Cloudflare určuje frekvenci požadavků. -
Oddělené výrazy pro počítání a zmírnění: V nové verzi Rate Limiting jsou výraz pro počítání a mitigační výraz oddělené (pro zákazníky s plánem Business a Enterprise). Výraz pro počítání určuje, které požadavky se používají k výpočtu frekvence. Mitigační výraz určuje, které požadavky se po dosažení prahové hodnoty zmírní. Díky těmto samostatným výrazům můžete sledovat frekvenci požadavků na konkrétní cestě, například
/logina když IP adresa překročí prahovou hodnotu, blokujte každý požadavek z této IP adresy směřující na vaši doménu. -
Další dimenze počítání (pouze Advanced Rate Limiting): Stejně jako v předchozí verzi Rate Limiting mají zákazníci s novým Rate Limiting k dispozici omezení frekvence požadavků podle IP adresy, kdy Cloudflare počítá požadavky podle zdrojové IP adresy příchozích požadavků. Zákazníci s novým Rate Limiting, kteří mají navíc Advanced Rate Limiting, mohou požadavky kromě podle IP adresy seskupovat i podle jiných charakteristik, například podle hodnoty klíčů API, cookies, hlaviček relace, ASN, parametrů dotazu nebo konkrétního pole v těle JSON. Viz Osvědčené postupy pro Rate limiting příklady.
-
Počet pravidel podle plánu: Kromě konkrétních funkcí podle plánu Cloudflare se v nové verzi Rate Limiting liší i počet pravidel na jednotlivé plány (informace o limitech nové verze najdete v Rate limiting rules):
Produkt Free Pro Business Enterprise s doplňkem RL,
nebo odpovídající plánRate Limiting (předchozí verze) 1 10 15 100 Rate Limiting (nová verze) 1 2 5 100 Aby zákazníci s plánem Enterprise získali přístup k pravidlům omezení frekvence, musí mít ve smlouvě zahrnuto zabezpečení aplikací.
Viz Důležité poznámky k upgradu s podrobnostmi 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 omezení frekvence požadavků, dokud budete nad novou kvótou pravidel pro váš plán Cloudflare. Počet pravidel omezení frekvence požadavků zahrnutých ve vašem plánu Cloudflare může být nižší než dříve. Pokud tento nový limit překračujete, musíte buď přejít na plán s vyšším počtem pravidel, nebo odstranit existující pravidla, dokud jejich počet neklesne na novou maximální hodnotu pro váš plán nebo pod ni.
-
Vlastní časové limity budou zaokrouhleny na nejbližší podporovaný časový limit. Vlastní období počítání i vlastní časové limity mitigace se zaokrouhlí nahoru nebo dolů na nejbližší období počítání a časový limit mitigace podporovaný v nové verzi (viz Dostupnost s podrobnostmi o dostupných hodnotách podle plánu).
Pokud jste například měli pravidlo omezení rychlosti s časovým limitem zmírnění 55 sekund, tento limit se zaokrouhlí nahoru na jednu minutu (nejbližší hodnota).
Zákazníci s plánem Enterprise budou moci po upgradu nastavit pro pravidlo vlastní časový limit zmírnění, tato konfigurace je však dostupná pouze přes API. -
Zákazníci s plánem Business (nebo vyšším) budou mít přístup k IP s podporou NAT charakteristika. Tato charakteristika slouží k řešení situací, kdy si například požadavky za NAT sdílejí stejnou IP adresu.
-
Stávající vlastní pravidla, která přeskakují starou verzi Rate Limiting, se automaticky neaktualizují tak, aby místo toho přeskakovala novou verzi. Cloudflare nebude aktualizovat existující vlastní pravidla, která obcházejí předchozí verzi Rate Limiting (pravidla s obcházením pomocí volby Další součásti k přeskočení > Pravidla omezení frekvence požadavků (předchozí verze)) pro přeskočení nové verze.
U stávajících přeskakovacích pravidel (vlastní pravidla s Přeskočit akce), budete je muset v případě potřeby ručně aktualizovat, aby přeskakovaly novou verzi rate limiting rules (Komponenty WAF k přeskočení > Všechna pravidla omezení frekvence požadavků možnost) namísto staré implementace.
Relevantní změny v dashboardu
Pokud jste měli přístup k předchozí verzi Cloudflare Rate Limiting, nyní najdete všechna pravidla omezení frekvence požadavků ve stejném seznamu v Security > WAF > Rate limiting rules.
Pravidla omezení frekvence požadavků vytvořená v předchozí verzi jsou označena tagem Previous version na Cloudflare dashboardu.
Pokud používáte nové dashboard Application Security, zobrazí se pouze pravidla omezení frekvence požadavků, která byla převedena na novou verzi, a to na Security > Bezpečnostní pravidla.
Pokud v dashboardu upravíte pravidlo s tímto tagem, nebudete jej již moci upravovat pomocí API a Terraform resource pro předchozí verzi pravidel omezení frekvence požadavků. 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 s dalšími informacemi.
Relevantní změny pro uživatele API
Předchozí Rate Limiting API je zastaralé. Toto API už od 2025-06-15 není podporováno. Musíte aktualizovat veškerou automatizaci založenou na předchozí Rate Limiting API do Rulesets API, abyste předešli případným problémům.
Nová pravidla omezení frekvence požadavků vycházejí z Ruleset Engine. Chcete-li tato pravidla omezení frekvence požadavků nakonfigurovat přes API, musíte použít Rulesets API. Vzhledem k tomu, že pravidla omezení frekvence požadavků vytvořená v předchozí verzi byla upgradována na novou verzi, toto API vrátí i tato pravidla vytvořená v nové verzi.
Rulesets API je jediné API, které umožňuje vytvářet, upravovat a mazat jakékoli pravidlo rate limiting bez ohledu na verzi implementace, ve které bylo pravidlo vytvořeno. předchozí Rate Limiting API bude fungovat jen s pravidly omezení frekvence požadavků vytvořenými v předchozí verzi, která jste od jejich převedení do nové verze neupravili v dashboardu ani prostřednictvím nového API nebo Terraform resource.
Do data ukončení podpory API můžete používat předchozí Rate Limiting API k vytváření, úpravě a mazání pravidel omezení frekvence požadavků vytvořených v předchozí verzi (kterou Cloudflare povýšilo na novou verzi). Pokud však pomocí Rulesets API upravíte pravidlo vytvořené v předchozí verzi, nebo pokud takové pravidlo změníte v Cloudflare dashboardu (včetně změny pořadí pravidel), nebude již možné toto pravidlo (povýšené z předchozí verze a poté aktualizované pomocí Rulesets API) spravovat pomocí starých operací API. 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
cloudflare_rate_limit Terraform resource je zastaralý. Tento resource už od 2025-06-15 není podporován. Musíte svou konfiguraci omezení frekvence požadavků v Terraformu manuálně aktualizovat z cloudflare_rate_limit ↗ prostředky do cloudflare_ruleset ↗ prostředky, abyste předešli problémům.
Nová pravidla omezení frekvence požadavků vycházejí z Ruleset Engine. Chcete-li tato pravidla omezení frekvence požadavků nakonfigurovat pomocí Terraformu, musíte použít cloudflare_ruleset Terraform resource.
cloudflare_ruleset ↗ Terraform resource je jediný resource, kterým můžete vytvořit, upravit a odstranit jakékoli pravidlo omezení frekvence požadavků, bez ohledu na verzi implementace, ve které bylo pravidlo vytvořeno. cloudflare_rate_limit Terraform resource bude fungovat jen s pravidly omezení frekvence požadavků vytvořenými v předchozí verzi, která jste od jejich převedení do nové verze neupravili v dashboardu ani prostřednictvím nového API nebo Terraform resource.
Do data ukončení podpory pro cloudflare_rate_limit Terraform resource, můžete tímto resource vytvářet, upravovat a odstraňovat pravidla omezení frekvence požadavků vytvořená v předchozí verzi (která Cloudflare převedl do nové verze). Jakmile ale začnete používat cloudflare_ruleset Terraform resource pro správu pravidla vytvořeného v předchozí verzi, nebo pokud takové pravidlo upravíte v dashboardu Cloudflare, včetně změny pořadí pravidel, nebude už možné toto pravidlo (převedené z předchozí verze a poté upravené pomocí nového resource) správovat pomocí starého Terraform resource. V takovém případě budete muset zcela přejít na cloudflare_ruleset Terraform resource pro správu tohoto konkrétního pravidla.
Viz dokumentaci Terraformu pro příklady konfigurace nových pravidel omezování frekvence pomocí Terraformu.
Nahraďte konfiguraci pomocí cf-terraforming
Můžete použít cf-terraforming ↗ nástroj k vygenerování nové konfigurace Terraformu pro pravidla omezení frekvence požadavků vytvořená v předchozí verzi. Poté můžete nové prostředky importovat do stavu Terraformu.
Doporučené kroky pro nahrazení vaší staré konfigurace omezení frekvence požadavků v Terraformu novou konfigurací sady pravidel jsou následující.
-
Následujícím příkazem vygenerujte 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 také konfigurace dalších sad pravidel pro jiné produkty Cloudflare založené na Ruleset Engine. Vzhledem k tomu, že aktualizujete konfiguraci pravidel omezení frekvence požadavků, ponechte pouze Terraform resource pro
http_ratelimitfáze a uložit ji do.tfkonfiguračního souboru. V dalším kroku budete potřebovat celý název prostředku. -
Importujte
cloudflare_rulesetprostředek, který jste dříve identifikovali, do stavu Terraformu 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. -
Spustit
terraform plan, abyste ověřili, že Terraform nyní kontroluje stav novéhocloudflare_rulesetprostředek, a to vedle dalších existujících prostředků, které již Terraform spravuje. 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 omezení frekvence požadavků nakonfigurovanými přes starý
cloudflare_rate_limitprostředek ze stavu Terraformu:-
Následujícím příkazem najdete všechny prostředky související s pravidly omezení rychlosti (předchozí verze):
terraform state list | grep -E '^cloudflare_rate_limit\.'cloudflare_rate_limit.my_rate_limiting_rules -
Spustit
terraform state rm ...v režimu dry-run, abyste zjistili dopad odstranění těchto zdrojů 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, aby se prostředky skutečně odebraly 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 odebrání
cloudflare_rate_limitprostředky ze stavu Terraformu, odstraňte všechny tyto prostředky z.tfkonfiguračních souborů. -
Spustit
terraform plan, abyste ověřili, že se prostředky, které jste odstranili z konfiguračních souborů, už nezobrazují. Neměly by vám zůstat žá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 prostředků Cloudflare do Terraformu a používání cf-terraforming nástroj, přečtěte si následující zdroje:
Další zdroje
Další informace o nové implementaci omezení frekvence požadavků, včetně dostupných funkcí v jednotlivých plánech Cloudflare, najdete v Rate limiting rules.
Cloudflare také nabízí pokročilou verzi Rate Limiting, která je dostupná zákazníkům s plánem Enterprise. Další informace najdete v Představujeme Advanced Rate Limiting ↗ blogovém příspěvku.
Další informace o tom, co všechno nové omezení frekvence požadavků umožňuje, najdete v Osvědčené postupy pro Rate limiting.