You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Terraform创建Cloudflare免费版Geo WAF国家封禁规则遇权限报错

解决Cloudflare免费版Terraform国家封禁规则配置报错问题

问题原因

你当前使用的cloudflare_ruleset资源指定了phase = "http_request_firewall_custom",这个阶段属于Cloudflare高级Ruleset引擎,仅对付费套餐(Pro/Business/Enterprise)开放,免费版无法使用。而你在门户手动配置的是免费版支持的传统防火墙规则系统,需要用对应的Terraform资源来实现。

正确配置示例

使用免费版支持的cloudflare_filter和cloudflare_firewall_rule资源来配置:

# 定义过滤规则表达式
resource "cloudflare_filter" "country_block_filter" {
  zone_id     = data.cloudflare_zone.zone.zone_id
  name        = "Country block filter for ${local.web_host}"
  expression  = "(ip.geoip.country ne \"NZ\")"
}

# 创建对应的防火墙封禁规则
resource "cloudflare_firewall_rule" "country_block" {
  zone_id     = data.cloudflare_zone.zone.zone_id
  filter_id   = cloudflare_filter.country_block_filter.id
  action      = "block"
  description = "Block all traffic except NZ for ${local.web_host}"
  enabled     = true
}

说明

  • 这个配置和你在Cloudflare门户手动创建的“防火墙规则”完全对应,免费版最多支持5条此类规则
  • 若需要封禁特定国家而非仅放行新西兰,可将表达式修改为ip.geoip.country eq "XX"(XX为目标国家代码)

内容的提问来源于stack exchange,提问作者Ben Taylor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 10:40:39