← Cloudflare Rules / rules / custom-errors
Vytvořte vlastní pravidla chyb
V dashboardu
Vytvořte vlastní chybové pravidlo
-
V Cloudflare dashboardu přejděte do sekce Rules Přehled stránce.
Přejděte na Přehled ↗ -
Vyberte Vytvořit pravidlo > Vlastní pravidlo chyby.
-
Zadejte popisný název pravidla do Název pravidla.
-
V části Pokud příchozí požadavky odpovídají, vyberte jednu z následujících možností:
-
Custom filter expression: Pravidlo se použije pouze na provoz odpovídající vlastnímu výrazu. Definujte výraz pravidla pro nastavení, které požadavky mají být přepsány. K definování vlastního výrazu použijte buď Expression Builder, nebo Expression Editor. Další informace najdete v Úprava výrazů v dashboardu.
-
Všechny příchozí požadavky: Pravidlo se použije na všechny odpovědi s
400nebo vyšším, s výjimkou akcí blokování a výzvy vydaných bezpečnostními produkty Cloudflare.
-
-
V Doručení vlastní chybové odpovědi, vyberte typ odpovědi (buď Vlastní chybové aktivum nebo některou z dostupných vložených odpovědí).
Pokud vyberete Vlastní chybové aktivum, vyberte existující vlastní chybový prostředek v Prostředek, nebo vyberte Vytvořit nové aktivum na vytvořit nové vlastní chybové aktivum.
Pokud vyberete Odpověď JSON, Odpověď HTML, Textová odpověď, nebo Odpověď XML, zadejte vlastní chybovou odpověď, kterou chcete odeslat návštěvníkům webu, v Odpověď JSON, Odpověď HTML, Textová odpověď, nebo Odpověď XML, v uvedeném pořadí. Odpověď může obsahovat chybové tokeny které Cloudflare nahradí skutečnými hodnotami před odesláním odpovědi návštěvníkovi. Maximální velikost odpovědi je 10 KB.
-
(Volitelné) V Kód odpovědi, zadejte stavový kód HTTP odpovědi (celé číslo mezi
400a999). Pokud je tato hodnota zadána, přepíše aktuální stavový kód odpovědi. -
(Volitelné) V části Umístit na, určete, kam pravidlo v seznamu pravidel umístit: jako první pravidlo v seznamu, jako poslední pravidlo v seznamu, nebo na vlastní pozici (za konkrétní pravidlo).
-
Chcete-li pravidlo uložit a nasadit, vyberte Nasadit. Pokud ještě nejste připraveni pravidlo nasadit, vyberte Save as Draft.
Vytvořte vlastní chybový soubor
- V Vytvořte vlastní chybový soubor na postranním panelu zadejte název prostředku v Název prostředku.
- (Volitelné) Zadejte popis prostředku v Popis.
- V URL, zadejte URL adresu stránky, kterou chcete načíst a uložit do globální sítě Cloudflare. Cloudflare načte všechny prostředky stránky a uloží zminifikovanou verzi stránky, kterou pak můžete použít v jednom nebo více vlastních chybových pravidlech.
- Vyberte Save.
Chcete-li zkontrolovat existující vlastní chybové assety, přejděte na Pravidla > Nastavení > Vlastní chybová aktiva kartě.
Přes API
Chcete-li nakonfigurovat vlastní pravidlo chyby přes API:
- (Volitelné) Vytvořte vlastní chybový soubor na základě adresy URL, kterou zadáte.
- Vytvořte vlastní chybové pravidlo v
http_custom_errorsfázi pomocí Rulesets API.
Vytvořte vlastní chybový soubor
Následující POST požadavek vytvoří nový vlastní chybový prostředek v zóně na základě zadané URL:
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/custom_pages/assets" \
--header "Authorization: Bearer <API_TOKEN>" \
--json '{
"name": "500_error_template",
"description": "Standard 5xx error template page",
"url": "https://example.com/errors/500_template.html"
}'{
"result": {
"name": "500_error_template",
"description": "Standard 5xx error template page",
"url": "https://example.com/errors/500_template.html",
"last_updated": "2025-02-10T11:36:07.810215Z",
"size_bytes": 2048
},
"success": true
}Vytvořte vlastní chybové pravidlo
Při vytváření custom error rule přes API se ujistěte, že:
- Nastavte akci pravidla na
serve_error. - Definujte parametry pravidla v
action_parameterspole podle typu odpovědi. - Nasaďte pravidlo do
http_custom_errorsfáze.
První pravidlo v http_custom_errors fáze, která odpovídá, se použije. Žádná další pravidla v této sadě pravidel se již nevyhodnotí ani nepoužijí. Pravidla vlastních chybových stránek definovaná na úrovni zóny mají navíc přednost před pravidly definovanými na úrovni účtu.
Obecný postup
Pravidlo vlastní chybové odpovědi vytvoříte pro danou zónu přes API podle tohoto postupu:
-
Použijte Seznam sad pravidel zóny operaci pro kontrolu, zda již existuje ruleset pro
http_custom_errorsfázi na úrovni zóny. -
Pokud fázový ruleset neexistuje, vytvořte jej pomocí Aktualizace vstupní sady pravidel zóny operaci, která umožňuje vytvořit ruleset, pokud neexistuje, a aktualizovat všechna pravidla v rulesetu. Ruleset vytvořte v
http_custom_errorsfáze.Pokud sada pravidel (ruleset) pro danou fázi již existuje, použijte Aktualizace vstupní sady pravidel zóny operaci pro nahrazení všech pravidel v rulesetu, nebo Přidání pravidla do sady pravidel operaci pro přidání pravidla ke stávajícím pravidlům v rulesetu.
Chcete-li vytvořit vlastní pravidlo chyby na úrovni účtu, použijte odpovídající API endpointy na úrovni účtu.
Příklad
Tento příklad konfiguruje vlastní chybové pravidlo, které vrací dříve vytvořený vlastní chybový asset s názvem 500_error_template pro odpovědi s 500 stavový kód HTTP.
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Response Compression WriteConfig Settings WriteDynamic URL Redirects WriteCache Settings WriteCustom Errors WriteOrigin WriteManaged headers WriteZone Transform Rules WriteMass URL Redirects WriteMagic Firewall WriteL4 DDoS Managed Ruleset WriteHTTP DDoS Managed Ruleset WriteSanitize WriteTransform Rules WriteSelect Configuration WriteBot Management WriteZone WAF WriteAccount WAF WriteAccount Rulesets WriteLogs WriteLogs Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_custom_errors/entrypoint" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"rules": [
{
"ref": "serve_500_template",
"action": "serve_error",
"action_parameters": {
"asset_name": "500_error_template",
"content_type": "text/html"
},
"expression": "http.response.code eq 500",
"enabled": true
}
]
}'Použijte ref pole, abyste při použití Terraformu měli stabilní ID pravidel napříč aktualizacemi. Přidání tohoto pole zabrání tomu, aby Terraform při změnách pravidlo vytvářel znovu. Další informace najdete v Řešení potíží v dokumentaci Terraform.
Tento PUT požadavek, odpovídající Aktualizace vstupní sady pravidel zóny operace nahradí veškerá stávající pravidla v http_custom_errors je vstupní sada pravidel dané fáze.
Požadovaná oprávnění API tokenu
API token použitý v API požadavcích pro správu Custom Error Rules a Custom Error Assets musí mít alespoň následující oprávnění:
- Vlastní pravidla chyb > Úprava