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

Facebook开发者平台WhatsApp产品Webhook验证失败求助

解决WhatsApp Webhook验证失败(无请求到达服务器)的方案

排查网络可达性

  • 确保服务器公网可访问:Facebook的验证请求从公网发起,本地localhost或内网服务器无法被访问。本地调试需用端口映射工具生成公网可用URL。
  • 检查防火墙/安全组规则:确认服务器端口(通常80/443或自定义端口)已开放,允许Facebook IP段的请求。可临时关闭防火墙测试,或添加官方公布的IP范围至白名单。
  • 核对URL准确性:检查填写的callback URL是否无拼写错误、多余斜杠或大小写问题,确保与服务器endpoint路径完全匹配。

检查请求处理逻辑

  • 确认GET路由配置:确保服务器框架(如Koa/Express)已正确配置该路径的GET路由。例如Express需用app.get('/webhook', (req, res) => { ... }),路由类型或路径错误会导致请求无法到达验证逻辑。
  • 避免全局中间件拦截:排查是否有身份验证、CORS等全局中间件提前拦截GET请求。若存在OPTIONS预检请求,需确保这类请求能正常通过。
  • 规范响应返回:验证令牌匹配时,需直接返回hub.challenge的原始值,不能添加HTML标签、JSON包裹等额外内容。比如Koa中应使用ctx.body = ctx.req.query['hub.challenge'],而非仅return该值(需符合框架响应规则)。

工具测试验证

  • 手动模拟验证请求:用Postman或curl构造GET请求,携带hub.verify_token=my-verify-token和hub.challenge=12345参数访问callback URL,检查是否返回12345。若手动请求失败,说明服务器路由或逻辑存在问题。
  • 测试DNS解析:用nslookup或dig命令确认域名已正确解析到服务器IP,排除DNS污染或解析延迟问题。

其他注意事项

  • 同步服务器时间:确保服务器时间与Facebook时间差在合理范围,避免因时间偏差导致验证失败。
  • 重试前清空缓存:刷新开发者控制台页面,或等待几分钟后重试,避免Facebook验证请求缓存影响结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 22:12:18