← Cloudflare Cache / cache / how-to / cache-rules
Příklad pro Terraform
Následující příklad pomocí Terraformu definuje jedno pravidlo mezipaměti pro zónu. Pravidlo konfiguruje několik nastavení mezipaměti a nastavuje vlastní klíč mezipaměti pro příchozí požadavky směřující na example.net.
Terraform cloudflare_ruleset zdroj
cloudflare_ruleset zdroj# Cache rule configuring cache settings and defining custom cache keys
resource "cloudflare_ruleset" "cache_rules_example" {
zone_id = "<ZONE_ID>"
name = "Set cache settings"
description = "Set cache settings for incoming requests"
kind = "zone"
phase = "http_request_cache_settings"
rules = [
{
ref = "cache_settings_custom_cache_key"
description = "Set cache settings and custom cache key for example.net"
expression = "(http.host eq \"example.net\")"
action = "set_cache_settings"
action_parameters = {
edge_ttl = {
mode = "override_origin"
default = 60
status_code_ttl = [
{
status_code = 200
value = 50
},
{
status_code_range = {
from = 201
to = 300
}
value = 30
}
]
}
browser_ttl = {
mode = "respect_origin"
}
serve_stale = {
disable_stale_while_updating = true
}
respect_strong_etags = true
cache_key = {
ignore_query_strings_order = false
cache_deception_armor = true
custom_key = {
query_string = {
exclude = {
all = true
}
}
header = {
include = ["habc", "hdef"]
check_presence = ["habc_t", "hdef_t"]
exclude_origin = true
}
cookie = {
include = ["cabc", "cdef"]
check_presence = ["cabc_t", "cdef_t"]
}
user = {
device_type = true
geo = false
}
host = {
resolved = true
}
}
}
origin_error_page_passthru = false
}
}
]
}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.
Následující příklad konfiguruje Vary. Normalizuje Accept a Accept-Language, a cache obchází pro jakoukoli jinou hlavičku v origin Vary odpověď.
Příklad pro Terraform: ukládání očekávaných odpovědí Vary do mezipaměti
variable "zone_id" {
type = string
}
resource "cloudflare_ruleset" "cache_vary_example" {
zone_id = var.zone_id
name = "Set cache settings"
description = "Set cache settings for incoming requests"
kind = "zone"
phase = "http_request_cache_settings"
rules = [
{
ref = "cache_vary"
description = "Cache expected Vary responses"
expression = "(http.host eq \"example.com\")"
action = "set_cache_settings"
action_parameters = {
cache = true
vary = {
default = {
action = "bypass"
}
headers = {
"accept" = {
action = "normalize"
media_types = [
"text/html",
"application/json"
]
}
"accept-language" = {
action = "normalize"
languages = [
"en",
"fr",
"de"
]
}
}
}
}
}
]
}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.
Další pokyny k používání nástroje Terraform s Cloudflare najdete v části Terraform.