了解如何配置 Managed Transforms。
-
在 Cloudflare 仪表板中,转到 Rules Settings 页面。
Go to Settings ↗ -
在 Managed Transforms(托管转换) 选项卡中,通过选择每项旁边的开关来启用或禁用所需的 Managed Transforms。某些 Managed Transforms 可能在你的 Cloudflare 套餐或产品订阅中不可用。
1. 获取可用的 Managed Transforms 列表
使用 List Managed Transforms 操作检查 Managed Transform 的当前状态和可用性。
以下示例请求获取可用 Managed Transforms 的列表(按请求或响应组织),并包含其当前状态(enabled 字段)以及你是否可以更新它们的信息(基于与其他已启用 Managed Transforms 的冲突,has_conflict 字段)。
每个 Managed Transform 项可选包含一个 conflicts_with 数组,用于告知你在启用时会与当前 Managed Transform 发生冲突的任何 Managed Transforms。
响应将仅包含根据你的 Cloudflare 套餐和产品订阅可用的 Managed Transforms。
Required API token permissions
At least one of the following token permissions is required:Response Compression WriteResponse Compression ReadConfig Settings WriteConfig Settings ReadDynamic URL Redirects WriteDynamic URL Redirects ReadCache Settings WriteCache Settings ReadCustom Errors WriteCustom Errors ReadOrigin WriteOrigin ReadManaged headers WriteManaged headers ReadZone Transform Rules WriteZone Transform Rules ReadMass URL Redirects WriteMass URL Redirects ReadMagic Firewall WriteMagic Firewall ReadL4 DDoS Managed Ruleset WriteL4 DDoS Managed Ruleset ReadHTTP DDoS Managed Ruleset WriteHTTP DDoS Managed Ruleset ReadSanitize WriteSanitize ReadTransform Rules WriteTransform Rules ReadSelect Configuration WriteSelect Configuration ReadBot Management WriteBot Management ReadZone WAF WriteZone WAF ReadAccount WAF WriteAccount WAF ReadAccount Rulesets ReadAccount Rulesets WriteLogs WriteLogs ReadLogs WriteLogs Read
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/managed_headers" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{
"result": {
"managed_request_headers": [
{
"enabled": false,
"has_conflict": false,
"id": "add_bot_protection_headers"
},
{
"enabled": false,
"has_conflict": false,
"id": "add_client_certificate_headers"
},
{
"enabled": false,
"has_conflict": false,
"id": "add_visitor_location_headers"
},
{
"conflicts_with": ["remove_visitor_ip_headers"],
"enabled": false,
"has_conflict": false,
"id": "add_true_client_ip_headers"
},
{
"conflicts_with": ["add_true_client_ip_headers"],
"enabled": false,
"has_conflict": false,
"id": "remove_visitor_ip_headers"
},
{
"enabled": false,
"has_conflict": false,
"id": "add_waf_credential_check_status_header"
},
{
"enabled": false,
"has_conflict": false,
"id": "add_waf_content_scan_status_header"
}
],
"managed_response_headers": [
{
"enabled": false,
"has_conflict": false,
"id": "remove_x-powered-by_header"
},
{
"enabled": false,
"has_conflict": false,
"id": "add_security_headers"
}
]
},
"success": true,
"errors": [],
"messages": []
}2. 更改 Managed Transforms 的状态
使用 Update status of Managed Transforms 操作更改所需 Managed Transforms 的状态。
将你希望更改的 Managed Transforms 添加到请求正文,并在 enabled 字段中更新其状态。你无法启用与当前已启用的 Managed Transform 存在冲突的 Managed Transform(即 has_conflict 为 true 的项)。
请确保将你正在更新的 Managed Transforms 包含在正确的 JSON 对象中(managed_request_headers 或 managed_response_headers)。
响应将包含所有可用的 Managed Transforms 及其更新后的新状态。
Required API token permissions
At least one of the following token permissions is required: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/managed_headers" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"managed_request_headers": [
{
"id": "add_visitor_location_headers",
"enabled": true
}
],
"managed_response_headers": [
{
"id": "remove_x-powered-by_header",
"enabled": true
}
]
}'{
"result": {
"managed_request_headers": [
{
"enabled": false,
"has_conflict": false,
"id": "add_bot_protection_headers"
},
{
"enabled": false,
"has_conflict": false,
"id": "add_client_certificate_headers"
},
{
"enabled": true,
"has_conflict": false,
"id": "add_visitor_location_headers"
},
{
"conflicts_with": ["remove_visitor_ip_headers"],
"enabled": false,
"has_conflict": false,
"id": "add_true_client_ip_headers"
},
{
"conflicts_with": ["add_true_client_ip_headers"],
"enabled": false,
"has_conflict": false,
"id": "remove_visitor_ip_headers"
},
{
"enabled": false,
"has_conflict": false,
"id": "add_waf_credential_check_status_header"
},
{
"enabled": false,
"has_conflict": false,
"id": "add_waf_content_scan_status_header"
}
],
"managed_response_headers": [
{
"enabled": true,
"has_conflict": false,
"id": "remove_x-powered-by_header"
},
{
"enabled": false,
"has_conflict": false,
"id": "add_security_headers"
}
]
},
"success": true,
"errors": [],
"messages": []
}配置 cloudflare_managed_transforms ↗ 资源:
resource "cloudflare_managed_transforms" "tf_example" {
zone_id = var.cloudflare_zone_id
managed_request_headers = [{
id = "add_visitor_location_headers"
enabled = true
}]
managed_response_headers = [{
id = "remove_x-powered-by_header"
enabled = true
}]
}resource "cloudflare_managed_headers" "tf_example" {
zone_id = "<ZONE_ID>"
managed_request_headers {
id = "add_visitor_location_headers"
enabled = true
}
managed_response_headers {
id = "remove_x-powered-by_header"
enabled = true
}
}确保在正确的对象(managed_request_headers 或 managed_response_headers)中包含您要更新的托管转换(Managed Transforms)。