You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

关于Facebook Webhook请求静态IP/域名及IP/域名白名单的技术咨询

嘿,这个问题确实挺常见的——企业部署时的白名单限制确实让人头疼,我来给你说清楚怎么搞定Facebook Webhook的IP/域名白名单配置:

获取Facebook Webhook可白名单的IP/域名方案

1. 官方静态IP范围

Facebook官方会定期发布其所有服务使用的IP地址段,其中就包含Webhook请求的来源IP。你可以这么操作:

  • 下载Facebook官方维护的IP范围JSON文件(这个文件会不定期更新,建议你设置个定期检查的任务,比如每月同步一次)
  • 从文件里筛选出归属facebook.commessenger.com的IP段,这些就是Webhook请求可能来自的静态IP范围
  • 将这些IP段添加到企业防火墙的白名单中,不要单独配置某个IP,一定要用段来配置

2. 更灵活的签名验证方案

如果配置IP段觉得麻烦,或者担心IP更新漏了导致拦截,你可以用请求签名验证来替代IP白名单,这也是Facebook官方推荐的安全方式:

  • 每次收到Webhook请求时,校验请求头里的X-Hub-Signature-256字段
  • 用你在Facebook开发者后台设置的应用密钥,结合请求体来生成签名,和请求头里的签名比对
  • 只有签名匹配的请求才处理,这样不管IP怎么变,都能确保请求是来自Facebook的

3. 额外注意事项

  • Facebook的IP范围会不定期调整,所以务必定期同步最新的IP段,不然可能突然出现Webhook请求被拦截的情况
  • 有些企业防火墙支持域名白名单,你可以尝试添加*.facebook.com*.messenger.com,但部分严格的防火墙可能还是需要具体的IP段才能生效
  • 不要依赖你当前收到的零散IP来配置,那些都是动态的,随时会变

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

火山引擎 最新活动