← Dokumentace WAF / rate-limiting-rules
Příklady pravidel rate limitingu
Níže uvedené příklady obsahují ukázkové konfigurace pravidel rate limitingu.
Příklad 1
Následující pravidlo rate limitingu provádí rate limiting příchozích požadavků z USA směřujících na přihlašovací stránku, s výjimkou jedné povolené IP adresy.
When incoming requests match:
Pokud používáte editor výrazů:
(http.request.uri.path eq "/login" and ip.src.country eq "US" and ip.src ne 192.0.0.1)
Se stejnými charakteristikami:
- IP
- ID datového centra (ve výchozím stavu zahrnuto v dashboardu, ale nezobrazeno)
Příklad 2
Následující pravidlo rate limitingu provádí rate limiting příchozích požadavků s danou základní cestou URI, přičemž čítač se zvyšuje podle IP adresy a poskytnutého API klíče.
When incoming requests match:
Pokud používáte editor výrazů:
(http.request.uri.path contains "/product" and http.request.method eq "POST")
Se stejnými charakteristikami:
- IP
- Hodnota hlavičky >
x-api-key
- ID datového centra (ve výchozím stavu zahrnuto v dashboardu, ale nezobrazeno)
Příklad 3
Následující pravidlo rate limitingu provádí rate limiting požadavků cílících na více cest URI na dvou hostitelích, s vyloučením známých botů. Frekvence požadavků vychází z IP adresy a User-Agent hodnoty.
When incoming requests match:
(http.request.uri.path eq "/store" or http.request.uri.path eq "/prices") and (http.host eq "mystore1.com" or http.host eq "mystore2.com") and not cf.client.bot
Se stejnými charakteristikami:
- IP
- Hodnota hlavičky >
user-agent
- ID datového centra (ve výchozím stavu zahrnuto v dashboardu, ale nezobrazeno)
Příklad 4
Následující pravidlo rate limitingu provádí rate limiting založený na komplexitě. Pravidlo bere v úvahu my-score HTTP hlavičky odpovědi poskytnuté origin serverem k výpočtu celkového skóre složitosti pro klienta s daným API klíčem.
Čítač s celkovým skóre se aktualizuje, když u pravidla rate limitingu dojde ke shodě s výraz pro počítání (v tomto případě stejný jako výraz pravidla, protože počítací výraz nebyl zadán). Jakmile toto celkové skóre překročí hodnotu 400 během jedné minuty, budou všechny další požadavky klienta blokovány po dobu 10 minut.
When incoming requests match:
Pokud používáte editor výrazů:
(http.request.uri.path wildcard "/graphql/*")
Se stejnými charakteristikami:
- Hodnota hlavičky >
x-api-key
- ID datového centra (ve výchozím stavu zahrnuto v dashboardu, ale nezobrazeno)
When rate exceeds: Založeno na složitosti
- Skóre za období:
400
- Období: 1 minuta
- Název hlavičky odpovědi:
my-score
Poté podnikněte kroky:
With the following behavior: Blokovat po zvolenou dobu
Příklad API s touto konfigurací pravidla najdete v Vytvoření pravidla rate limitingu přes API.