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

Cloudflare代理GCP负载均衡器时Postman/curl遇JS与Cookie验证错误

解决Cloudflare机器人防护拦截curl/Postman请求的方案

不用关闭全局机器人防护,试试这几个实用方法:

1. 模拟浏览器请求特征

Cloudflare的机器人检测会校验请求头里的浏览器标识,curl/Postman默认的请求头会被识别为非人类访客,手动添加浏览器常用请求头即可绕过:

curl示例:

curl -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" \
     -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" \
     -H "Accept-Language: en-US,en;q=0.5" \
     -H "Connection: keep-alive" \
     -H "Upgrade-Insecure-Requests: 1" \
     https://你的域名/目标端点

Postman设置:

在请求的「Headers」标签页,添加上述所有键值对。如果遇到Cookie验证,先在浏览器访问一次目标站点,打开开发者工具(F12)→「Application」→「Cookies」,复制有效Cookie值,在Postman里添加Cookie头并填入该值。

2. 配置Cloudflare防火墙豁免规则

给测试请求设置专属标识,让Cloudflare跳过机器人检测:

  1. 登录Cloudflare控制台,进入你的域名→「安全」→「WAF」→「防火墙规则」
  2. 点击「创建规则」,设置规则名称(比如「测试请求豁免」)
  3. 规则表达式输入:http.request.headers["x-test-token"] eq "你的专属密钥"(密钥自行设定,比如test_123456)
  4. 动作选择「跳过」,勾选「机器人管理」相关防护选项
  5. 保存规则

之后测试时,curl添加-H "X-Test-Token: test_123456",或Postman里添加该头,即可正常请求。

3. 将测试IP/UA加入Cloudflare允许名单

如果测试机器IP固定,直接把IP加入白名单:

  1. Cloudflare控制台→「安全」→「机器人管理」→「管理机器人」→「允许名单」
  2. 点击「添加规则」,选择「IP地址」,输入测试机器公网IP后保存

如果需要用特定测试标识,选择「用户代理」,输入自定义UA字符串(比如MyTestClient/1.0),之后测试时用该UA发起请求即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 22:22:24