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

使用CloudFlare for SaaS时,如何在源站判断请求的自定义主机名?

CloudFlare for SaaS 源站识别请求主机名方案

场景说明

假设你的回退URL是通配符地址customers.example.com,存在两类客户请求:

  • 客户1未使用自定义主机名,请求地址为customer1.customers.example.com
  • 客户2使用自定义主机名,请求地址为foo.bar.com
    两类请求最终都会指向customers.example.com,源站需要识别真实请求对应的主机名。

源站收到的关键请求头

CloudFlare会自动传递两个核心请求头,用于识别真实请求:

  1. Host头:
    • 客户1的请求,源站收到的Host值为customer1.customers.example.com
    • 客户2的请求,源站收到的Host值为foo.bar.com
      CloudFlare会自动过滤客户端注入的伪造Host头,源站拿到的是经过验证的真实请求主机名,无需担心注入风险。
  2. Cf-Visitor头:JSON格式的请求头,包含host字段,值与Host头一致,可作为额外验证依据,示例:
    {"scheme":"https","host":"foo.bar.com"}
    

客户识别方法

直接读取Host头(或Cf-Visitor中的host字段)即可:

  • 若Host值为customer1.customers.example.com,对应客户1
  • 若Host值为foo.bar.com,对应客户2
    在源站代码中读取该字段,匹配预先存储的客户主机名映射关系即可完成识别。

是否需要CloudFlare Workers?

不需要。默认情况下CloudFlare已通过Host和Cf-Visitor头传递真实请求主机名,完全满足识别需求,无需额外部署Workers。

Host头的安全性说明

CloudFlare会严格校验自定义主机名的归属(客户需完成DNS验证才能启用),同时拦截客户端发送的伪造Host头,源站收到的Host头是可信的真实请求地址,无需额外校验。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 09:02:52