INTEGRITY Dokumentace

Příklady custom error rules

Uvedené příklady používají ve svých výrazech pravidel tato pole:

Vlastní JSON odpověď pro všechny chyby 5XX

Tento příklad konfiguruje vlastní chybovou odpověď JSON pro všechny chyby řady 5XX (500-599) v zóně. Stavový kód HTTP vlastní chybové odpovědi bude nastaven na 530.

Konfigurace vlastního pravidla chyby:

  • Název: Custom JSON response for all 5XX errors

  • Pokud příchozí požadavky odpovídají > Custom filter expression:

    Pole Operátor Hodnota Logika
    Response Status Code větší nebo rovno 500 And
    Response Status Code menší nebo rovno 599

    Pokud používáte Expression Editor:
    (http.response.code ge 500 and http.response.code le 599)

  • Typ odpovědi: Odpověď JSON

  • Kód odpovědi: 530

  • Odpověď JSON: {"message": "A server error occurred."}

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
  • Response Compression Write
  • Config Settings Write
  • Dynamic URL Redirects Write
  • Cache Settings Write
  • Custom Errors Write
  • Origin Write
  • Managed headers Write
  • Zone Transform Rules Write
  • Mass URL Redirects Write
  • Magic Firewall Write
  • L4 DDoS Managed Ruleset Write
  • HTTP DDoS Managed Ruleset Write
  • Sanitize Write
  • Transform Rules Write
  • Select Configuration Write
  • Bot Management Write
  • Zone WAF Write
  • Account WAF Write
  • Account Rulesets Write
  • Logs Write
  • Logs Write
Aktualizace vstupní sady pravidel zóny
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": "json_response_for_5xx_errors",
						"action": "serve_error",
						"action_parameters": {
								"content": "{\"message\": \"A server error occurred.\"}",
								"content_type": "application/json",
								"status_code": 530
						},
						"expression": "http.response.code ge 500 and http.response.code lt 600",
						"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.

Vlastní HTML odpověď s aktualizovaným stavovým kódem

Tento příklad konfiguruje vlastní chybovou odpověď HTML pro odpovědi s 500 stavový kód HTTP a znovu definuje stavový kód odpovědi na 503.

Konfigurace vlastního pravidla chyby:

  • Název: Custom HTML response for 500 errors

  • Pokud příchozí požadavky odpovídají > Custom filter expression:

    Pole Operátor Hodnota
    Response Status Code rovno 500

    Pokud používáte Expression Editor:
    (http.response.code eq 500)

  • Typ odpovědi: Odpověď HTML

  • Kód odpovědi: 503

  • Odpověď HTML:

    <!DOCTYPE html><html><head><meta charset="utf-8"><title>Application unavailable</title></head><body><h1>Application temporarily unavailable</h1><p>Please try again later.</p></body></html>

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
  • Response Compression Write
  • Config Settings Write
  • Dynamic URL Redirects Write
  • Cache Settings Write
  • Custom Errors Write
  • Origin Write
  • Managed headers Write
  • Zone Transform Rules Write
  • Mass URL Redirects Write
  • Magic Firewall Write
  • L4 DDoS Managed Ruleset Write
  • HTTP DDoS Managed Ruleset Write
  • Sanitize Write
  • Transform Rules Write
  • Select Configuration Write
  • Bot Management Write
  • Zone WAF Write
  • Account WAF Write
  • Account Rulesets Write
  • Logs Write
  • Logs Write
Aktualizace vstupní sady pravidel zóny
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": "html_response_500_to_503",
						"action": "serve_error",
						"action_parameters": {
								"content": "<!DOCTYPE html><html><head><meta charset=\"utf-8\"><title>Application unavailable</title></head><body><h1>Application temporarily unavailable</h1><p>Please try again later.</p></body></html>",
								"content_type": "text/html",
								"status_code": 503
						},
						"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.

Vlastní HTML odpověď pro chyby Cloudflare 1020

Tento příklad konfiguruje vlastní chybovou odpověď HTML pro Chyba Cloudflare 1020 (Access Denied).

Konfigurace vlastního pravidla chyby:

  • Název: Custom HTML response for 1020 errors

  • Pokud příchozí požadavky odpovídají > Custom filter expression

    Použijte Expression Editor:
    (cf.response.1xxx_code eq 1020)

  • Typ odpovědi: Odpověď HTML

  • Odpověď HTML:

    <!DOCTYPE html><html><head><meta charset="utf-8"><title>Access denied</title></head><body><h1>You do not have access to this page</h1><p>Contact us if you think this is an error.</p></body></html>

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
  • Response Compression Write
  • Config Settings Write
  • Dynamic URL Redirects Write
  • Cache Settings Write
  • Custom Errors Write
  • Origin Write
  • Managed headers Write
  • Zone Transform Rules Write
  • Mass URL Redirects Write
  • Magic Firewall Write
  • L4 DDoS Managed Ruleset Write
  • HTTP DDoS Managed Ruleset Write
  • Sanitize Write
  • Transform Rules Write
  • Select Configuration Write
  • Bot Management Write
  • Zone WAF Write
  • Account WAF Write
  • Account Rulesets Write
  • Logs Write
  • Logs Write
Aktualizace vstupní sady pravidel zóny
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": "html_response_cf_1020",
						"action": "serve_error",
						"action_parameters": {
								"content": "<!DOCTYPE html><html><head><meta charset=\"utf-8\"><title>Access denied</title></head><body><h1>You do not have access to this page</h1><p>Contact us if you think this is an error.</p></body></html>",
								"content_type": "text/html"
						},
						"expression": "cf.response.1xxx_code eq 1020",
						"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.

Vlastní chybové aktivum vytvořené z URL

Tento příklad konfiguruje vlastní chybové pravidlo, které vrací dříve vytvořený vlastní chybový prostředek s názvem 500_error_template pro odpovědi s 500 stavový kód HTTP.

Konfigurace vlastního pravidla chyby:

  • Název: Serve asset for HTTP 500 errors

  • Pokud příchozí požadavky odpovídají > Custom filter expression:

    Pole Operátor Hodnota
    Response Status Code rovno 500

    Pokud používáte Expression Editor:
    (http.response.code eq 500)

  • Typ odpovědi: Vlastní chybové aktivum

  • Prostředek: 500_error_template

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
  • Response Compression Write
  • Config Settings Write
  • Dynamic URL Redirects Write
  • Cache Settings Write
  • Custom Errors Write
  • Origin Write
  • Managed headers Write
  • Zone Transform Rules Write
  • Mass URL Redirects Write
  • Magic Firewall Write
  • L4 DDoS Managed Ruleset Write
  • HTTP DDoS Managed Ruleset Write
  • Sanitize Write
  • Transform Rules Write
  • Select Configuration Write
  • Bot Management Write
  • Zone WAF Write
  • Account WAF Write
  • Account Rulesets Write
  • Logs Write
  • Logs Write
Aktualizace vstupní sady pravidel zóny
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_error_500_asset",
						"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.