创建一条 compression rule,将 Gzip 压缩设为 CSV 文件的首选压缩方法。
以下示例规则会将 Gzip 压缩配置为 CSV 文件的首选压缩方法。如果访问者不支持该算法,Cloudflare 将尝试使用访问者支持的其他算法压缩响应。
When incoming requests match(当传入请求匹配时)
- Custom filter expression:
- File extension equals
csv
- File extension equals
Then(然后)
- Compression options: Custom
- Define a custom order for compression types:
Gzip,Auto
以下示例使用 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_gzip_for_csv",
"expression": "http.request.uri.path.extension eq \"csv\"",
"action": "compress_response",
"action_parameters": {
"algorithms": [
{
"name": "gzip"
},
{
"name": "auto"
}
]
}
}
]
}'使用 Terraform 时,通过 ref 字段可在更新后保持稳定的规则 ID。添加该字段可防止 Terraform 在变更时重建规则。更多信息请参阅 故障排除(Terraform 文档)。