← Cloudflare Waiting Room / waiting-room / additional-options / waiting-room-rules
Waiting Room Bypass Rules
Pravidlo Waiting Room pro bypass je typ pravidla Waiting Room postavený na Cloudflare Ruleset Engine a spravovaný přes Waiting Room API. Umožňuje označit konkrétní provoz nebo části vašeho webu či aplikace, na které se čekárna nemá vztahovat. Každé pravidlo pro bypass se vytváří a spravuje na úrovni jednotlivé čekárny, což umožňuje přesnou kontrolu nad jejím provozem.
Chcete-li určit, kde se mají pravidla pro obcházení uplatnit, zadejte vlastní logika pomocí pole dostupné přes Cloudflare Ruleset Engine, kromě následujících:
cf.threat_scorea pole začínající nacf.bot_management- Pole HTTP odpovědi
Upozorňujeme, že čekárna se nepoužije na provoz odpovídající výrazům definovaným v pravidlech pro bypass a tento provoz se nezapočítá mezi aktivní uživatele. Na takový provoz se nevztahuje žádná funkce čekárny, mimo jiné ani Event pre-queueing, metoda řazení Reject nebo Queue-all. Mějte to na paměti při vytváření a aktivaci pravidel pro bypass čekárny. Pravidla pro bypass používejte jen u provozu, u kterého jste si jisti, že nezatíží váš origin server ani nezpůsobí výrazné výkyvy provozu.
Běžné případy použití
- Vyloučení cesty/URL adresy: Obejde konkrétní cesty nebo adresy URL pod cestou, kterou jste nakonfigurovali pro svou čekárnu, pokud nechcete, aby se na tyto cesty čekárna vztahovala.
- Administrativní bypass: Umožní interním správcům webu vždy obejít čekárnu, obvykle identifikovaným podle IP adres.
- Geografické cílení: Vyloučí vybrané země z řazení do fronty.
- Vyloučení query stringu: Vyloučí konkrétní řetězce dotazu v rámci cesty nakonfigurované pro vaši čekárnu.
- Vyloučit přípony souborů: Zabrání tomu, aby se čekárna vztahovala na určité přípony souborů, například
.jskteré ve své šabloně HTML pro čekárnu používáte, aby se správně vykreslily.
Poznámka k dílčím požadavkům
Kromě řetězců dotazu nebo cest, které chcete vyloučit, nezapomeňte do svého výrazu zahrnout i cesty nebo typy souborů, na které mohou mířit dílčí požadavky, aby se čekárna nevztahovala i na tyto prostředky nebo cesty. Jinak tyto dílčí požadavky budou stále získávat soubor cookie čekárny, protože i na ně se čekárna vztahuje.
Může se jednat například o obrázky, soubory JavaScript, soubory CSS a podobně. Pravidlo můžete také nastavit tak, aby waiting room obcházelo pro cesty určitého typu souboru, a to obejitím v případě, že požadavek končí na .js, .css, .png, atd., abyste nemuseli ručně konfigurovat každou cestu, pod kterou mohou být tato aktiva uložena.
Příklad podmínky: ends_with(http.request.uri.path, ".js")
Vytvoření pravidel pro obcházení čekárny v dashboardu
Vytvoření nového pravidla pro obcházení:
-
V dashboardu Cloudflare přejděte na Waiting Room stránce.
Přejděte na Waiting Room ↗ -
Rozbalte čekárnu a vyberte Spravovat pravidla.
-
Vyberte Vytvoření nového pravidla pro obcházení.
-
Zadejte popisný název pravidla do Název pravidla.
-
V části Když příchozí požadavky odpovídají, definujte výraz pravidla. Použijte Pole rozbalovacího seznamu vyberte vlastnost HTTP. Pro každý požadavek se hodnota vlastnosti, kterou zvolíte pro Pole se porovnává s hodnotou, kterou zadáte pro Hodnota pomocí operátoru vybraného v Operátor.
-
V části Poté, automaticky se vybere akce Bypass Waiting Room. Před uložením zkontrolujte svůj výraz a ujistěte se, že provoz odpovídající tomuto výrazu je skutečně provoz, na který nechcete čekárnu uplatnit.
-
Chcete-li pravidlo uložit a nasadit, vyberte Save and Deploy. Pokud ještě nejste připraveni pravidlo nasadit, vyberte Save as Draft.
Operátory a seskupovací symboly
- Operátory porovnání určují, jak musí hodnoty definované ve výrazu odpovídat skutečné hodnotě HTTP požadavku, aby výraz vrátil hodnotu true.
- Logické operátory kombinují dva výrazy do složeného výrazu a při vyhodnocování výrazu se řídí pořadím priority.
- Seskupovací symboly umožňují uspořádat výrazy, vynutit prioritu operátorů a vnořovat výrazy.
Příklady a způsob použití najdete v Operátory a seskupovací symboly v dokumentaci k jazyku Rules language.
Správa pravidel prostřednictvím Waiting Room API
Pravidla pro bypass své čekárny můžete spravovat, mazat a vytvářet prostřednictvím Waiting Room API’s. Pravidlo pro obejití je Waiting Room Rule, které využívá bypass_waiting_room jako akci.
Při vytváření pravidla Bypass Waiting Room Rule prostřednictvím API se ujistěte, že:
- Již máte vytvořenou a uloženou čekárnu, na kterou chcete toto pravidlo použít.
- Definujte výraz, který určí, jaký provoz má vaši čekárnu obcházet.
- Nastavte akci pravidla na
bypass_waiting_room.
Pravidlo čekárny vytvoříte připojením následujícího endpointu z Waiting Room API k základní URL adrese API Cloudflare. Nová pravidla čekárny se přidají za všechna stávající pravidla.
POST zones/{zone_id}/waiting_rooms/{room_id}/rulesNakonfigurujte pravidlo pro obcházení pomocí následujících povinných a volitelných parametrů:
- Popis (volitelné) - Doplňte k pravidlu popis, díky kterému budete mít přehled o účelu tohoto pravidla pro bypass.
- Výraz (povinné) - Určete výraz pravidla, který vymezuje provoz, na nějž se má pravidlo pro bypass použít.
- Akce (povinné) - Určete akci, která se má provést, pokud se výraz vyhodnotí jako true. Nastavte tuto hodnotu na
bypass_waiting_room. - Enabled (volitelné) - Výchozí hodnota je true. Pokud pravidlo nechcete nasadit, nastavte tuto hodnotu na false.
Příklady API
Obejít cestu v rámci čekárny a všechny její podcesty
Pokud je vaše čekárna nakonfigurována na example.com/ a chcete, aby veškerý provoz směřující na example.com/bypassme a všechny její podcesty. V tomto příkladu také chceme zajistit, aby podřízené požadavky cesty js, css, nebo png také obcházely čekárnu, aby se na cestách, které obcházení podléhají, správně načetla všechna aktiva. V tomto příkladu si všimněte, že všechny požadavky končící na js, css nebo png obejde čekárnu bez ohledu na podcestu. Pokud to není váš zamýšlený případ použití, upravte výraz tak, aby odpovídal vašim konkrétním požadavkům a architektuře webu.
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/waiting_rooms/$WAITING_ROOM_ID/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"description": "subpath bypass",
"expression": "starts_with(http.request.uri.path, \"/bypassme\") or ends_with(http.request.uri.path, \".js\") or ends_with(http.request.uri.path, \".css\") or ends_with(http.request.uri.path, \".png\")",
"action": "bypass_waiting_room"
}'Povolit definovanému seznamu IP adres obejít čekárnu
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/waiting_rooms/$WAITING_ROOM_ID/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"description": "ip list bypass",
"expression": "ip.src in $bypass_ip_list",
"action": "bypass_waiting_room"
}'Další možnosti API pro správu pravidel pro bypass
Prostřednictvím rozhraní Waiting Room API můžete pomocí volání Waiting Room rules API také spravovat pravidla pro obcházení následujícím způsobem:
- Seznam pravidel Waiting Room: Vypíše pravidla čekárny.
- Nahrazení pravidel čekárny: Nahradí všechna pravidla čekárny.
- Úprava pravidel čekárny: Aktualizuje pravidlo čekárny.
- Odstranění pravidel čekárny: Smaže pravidlo čekárny.