Cloudflare Zero Trust Tunnel公共主机路由的Terraform配置资源咨询
Cloudflare Zero Trust Tunnel 公共主机路由的 Terraform 配置
确实存在对应的 Terraform 资源来配置 Cloudflare Zero Trust Tunnel 的公共主机路由,主要用到以下两类资源:
1. cloudflare_tunnel_route - 绑定主机名到 Tunnel
这个资源专门用于将公共主机名(或CIDR段)关联到已创建的 Zero Trust Tunnel,对应你截图中添加公共主机名的操作。
示例代码:
# 先创建Zero Trust Tunnel实例 resource "cloudflare_tunnel" "production_tunnel" { account_id = "your_cloudflare_account_id" name = "prod-app-tunnel" } # 添加公共主机路由 resource "cloudflare_tunnel_route" "app_host_route" { account_id = "your_cloudflare_account_id" tunnel_id = cloudflare_tunnel.production_tunnel.id network = "app.yourdomain.com" # 填写需要绑定的公共主机名 comment = "Route app traffic to production tunnel" }
2. cloudflare_tunnel_config - 配置精细化 ingress 规则
如果需要对该主机名的流量做更细致的控制(比如路径转发、TLS验证、自定义请求头),可以通过这个资源的 ingress_rule 定义完整的转发逻辑,相当于在Tunnel配置中直接指定主机名的处理规则。
示例代码:
resource "cloudflare_tunnel_config" "prod_tunnel_config" { account_id = "your_cloudflare_account_id" tunnel_id = cloudflare_tunnel.production_tunnel.id config { # 配置公共主机名的转发规则 ingress_rule { hostname = "app.yourdomain.com" service = "http://internal-app-server:8080" # 内部服务地址 origin_request { no_tls_verify = false # 是否禁用对内部服务的TLS验证 timeout = 10s } } # 默认规则:匹配未定义的流量返回404 ingress_rule { service = "http_status:404" } } }
注意事项
- 确保使用的 Cloudflare Terraform Provider 版本不低于 4.0.0,旧版本可能缺失部分资源或参数支持。
account_id可在Cloudflare账户的个人中心页面获取。
内容的提问来源于stack exchange,提问作者Murakami
相关产品推荐
相关产品推荐

