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

关于WhatsApp Cloud API Webhook验证请求机制及本地服务器验证失败的技术咨询

WhatsApp Cloud API Webhook验证请求详解及本地服务器问题排查

一、Webhook验证请求到底是什么样的?

当你在Meta平台配置Webhook的时候,Meta会主动发一个GET请求到你填的Webhook地址里,这个请求带三个关键参数:

  • hub.mode:固定是subscribe,明说这是来做订阅验证的
  • hub.verify_token:就是你在Meta配置页自己设的那个验证令牌,服务器端得拿这个参数和你预先存好的令牌对比,完全一致才算过
  • hub.challenge:一个随机生成的字符串,只要验证通过,你服务器直接把这个字符串原封不动返回给Meta就行,状态码得是200

举个例子就是你提到的这个请求:

/webhook?hub.mode=subscribe&hub.verify_token=xpto123&hub.challenge=123

服务器这边的逻辑其实很简单:先看hub.mode是不是subscribe,再核对令牌对不对,没问题就把hub.challenge直接扔回去,齐活。


二、本地HTTPS服务器收不到Meta请求?试试这些排查方法

既然你的服务器逻辑和Glitch那个项目完全一致,但Meta的请求就是到不了,十有八九是网络能不能打通的问题,按下面的步骤一个个查:

1. 先确认你的服务器能被公网访问

Meta的Webhook只能找公网上能被解析到的HTTPS地址,哪怕你用了HTTPS子域名,也得确保:

  • 你的子域名已经正确解析到服务器的公网IP了(可以用nslookup或者dig命令查一下,看看解析结果对不对)
  • 你服务器所在的网络没把80/443端口屏蔽(很多家庭宽带的运营商会封这些端口,企业网络的防火墙也可能拦)

2. 检查路由器的端口转发配置

要是你的服务器在局域网里(比如家里的电脑),必须在路由器上设端口转发:

  • 把公网的443端口转到你本地服务器的443端口(HTTPS默认用这个端口)
  • 转发规则得绑定服务器的内网IP,还要确保这个端口没被其他设备占了

3. 确认HTTPS证书是有效的

Meta不认自签名的SSL证书,必须用正规CA颁发的证书。你可以直接用浏览器访问你的子域名,看看有没有证书警告;或者用在线工具查一下证书是不是合法有效。

4. 排查防火墙和安全组

  • 本地服务器的防火墙(比如Linux的UFW、Windows自带的防火墙)得允许443端口的入站请求
  • 要是用了云服务商的VPS,哪怕是本地服务器关联了云防火墙,也得检查安全组规则有没有开放443端口

5. 自己模拟请求测测

用Postman或者curl这类工具,从公网(别用同一局域网的设备)给你的Webhook端点发一个模拟验证请求,看看能不能收到日志,有没有返回正确的hub.challenge。如果模拟请求都失败,那肯定是网络或配置的问题;如果模拟请求成功,那再去Meta平台检查Webhook配置,比如地址有没有写错,验证令牌是不是和你服务器上的一样。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 19:04:08