创建一条 compression rule,将 Brotli 设为特定 URI 路径唯一支持的压缩算法。
以下示例规则会为特定 URI 路径仅配置 Brotli 压缩。
When incoming requests match(当传入请求匹配时)
- Custom filter expression:
- URI Path equals
/download/assets.tar
- URI Path equals
Then(然后)
- Compression options: Custom
- Define a custom order for compression types:
Brotli
由于规则配置未在自定义算法列表末尾包含 Auto,如果 Web 访问者不支持 Brotli,响应将保持未压缩状态。
以下示例使用 Update a zone ruleset 操作,将现有 entry point ruleset(ID 为 {ruleset_id})在 http_response_compression 阶段的规则设置为单条 compression rule:
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/rulesets/$RULESET_ID" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"rules": [
{
"ref": "use_only_brotli_for_assets_tar",
"expression": "http.request.uri.path eq \"/download/assets.tar\"",
"action": "compress_response",
"action_parameters": {
"algorithms": [
{
"name": "brotli"
}
]
}
}
]
}'使用 Terraform 时,通过 ref 字段可在更新后保持稳定的规则 ID。添加该字段可防止 Terraform 在变更时重建规则。更多信息请参阅 故障排除(Terraform 文档)。