INTEGRITY Dokumentace

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:

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í

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í:

  1. V dashboardu Cloudflare přejděte na Waiting Room stránce.

    Přejděte na Waiting Room ↗
  2. Rozbalte čekárnu a vyberte Spravovat pravidla.

  3. Vyberte Vytvoření nového pravidla pro obcházení.

  4. Zadejte popisný název pravidla do Název pravidla.

  5. 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.

  6. 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.

  7. 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

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:

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}/rules

Nakonfigurujte pravidlo pro obcházení pomocí následujících povinných a volitelných parametrů:

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.

Vytvoření pravidla čekárny
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

Vytvoření pravidla čekárny
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: