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

关于Cloudflare Access代理下API请求拦截及SwitchBot Webhook收不到通知的咨询

问题1:外部API经Cloudflare代理的请求是否会被拦截?
  • Cloudflare Access默认会拦截所有未携带有效身份凭证的请求,包括外部API发起的HTTP请求。因为它的核心逻辑是基于身份验证管控访问,外部API通常不会附带Cloudflare Access要求的认证令牌(如JWT),所以这类请求会被拦截,返回403错误或跳转至登录页面。
  • 若要让特定外部API请求通过,需在Cloudflare Access规则中配置允许列表:针对该API的来源IP、请求路径或特定请求头添加放行规则,跳过身份验证流程。
问题2:SwitchBot API Webhook无法接收通知的排查方案
  • 调整Cloudflare Access规则:找到你的Web应用对应的Access配置,添加一条规则,将SwitchBot Webhook的接收路径(比如/switchbot-webhook)设为允许所有人访问,不需要身份验证。确保规则优先级高于默认的拦截规则。
  • 模拟请求验证端点:在本地服务器执行curl -X POST https://your-cloudflare-domain/switchbot-webhook -d '{"test": "data"}',确认本地服务能正常接收并返回200状态码。如果本地正常但经Cloudflare后无响应,说明Access规则拦截了请求。
  • 检查Cloudflare WAF拦截:进入Cloudflare控制台的「Security → WAF」,查看近期拦截日志,确认是否有SwitchBot的请求被WAF误拦。如有,添加自定义规则放行该来源IP或请求特征。
  • 核对SwitchBot配置:确保在SwitchBot平台填写的Webhook URL是Cloudflare分配的公网域名(不能用本地IP),请求方法、路径与你的服务端点完全匹配。另外,SwitchBot要求Webhook端点必须返回200状态码作为接收确认,需保证服务能正确响应。
  • 查看Cloudflare请求日志:在「Analytics → Logs」中筛选SwitchBot相关请求,查看请求是否到达Cloudflare,以及被拦截的具体原因(如Access认证失败、WAF规则触发),针对性调整配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 20:10:31