Twilio WhatsApp入站消息无法触达IIS部署的ASP.NET Core 6应用排查问询
解决方案:Twilio WhatsApp入站Webhook无法触达IIS服务器问题
1. 需要白名单的IP地址段
Twilio的WhatsApp入站Webhook请求全部来自官方固定IP范围,仅放行子域名不足以覆盖所有请求源,需将以下IP段添加到防火墙白名单:
- 3.216.107.0/24
- 3.220.11.0/24
- 3.221.183.0/24
- 3.231.10.0/24
- 107.23.148.0/22
- 149.154.160.0/20
- 149.154.176.0/20
若客户需同时限制子域名,可额外添加webhooks.twilio.com,但IP段是核心白名单项,Twilio的子域名解析IP均落在上述范围内。
2. IIS与防火墙配置检查点
防火墙层面
- 确认入站规则允许TCP 80/443端口(匹配Webhook协议,优先用HTTPS)接收上述Twilio IP段的流量,需覆盖Windows防火墙和客户环境的硬件/云防火墙
- 查看防火墙拒绝日志,排查是否有来自Twilio IP的请求被拦截记录
- 验证网络路由,确保Twilio的请求能正确路由到Windows Server的公网IP(内网部署需确认端口映射/NAT配置正确)
IIS层面
- 检查站点绑定:确认绑定的端口、协议(HTTP/HTTPS)与Twilio Webhook配置的URL完全匹配,HTTPS需配置受信任CA颁发的有效证书(Twilio不接受自签名证书)
- 查看IIS日志:默认路径为
C:\inetpub\logs\LogFiles,检查是否有来自Twilio IP的请求记录——哪怕是4xx/5xx状态码,也能证明请求已到达IIS;若没有,说明请求被防火墙拦截 - 验证请求筛选:检查IIS站点的「请求筛选」规则,是否存在拦截POST请求(Twilio Webhook用POST)、特定URL路径的规则
- 确认ASP.NET Core模块(ANCM)配置:检查站点根目录的
web.config,确保反向代理配置正确,能将请求转发到ASP.NET Core应用进程 - 检查应用程序池:确认站点对应的应用程序池处于运行状态,无权限问题或崩溃停止情况
其他安全组件检查
- 排查服务器上的杀毒软件、Web应用防火墙(WAF)等安全工具,是否存在拦截Twilio请求的规则
- 若允许,用外部工具发送POST请求到Webhook URL,验证是否能触发服务器日志,确认URL公网可访问性
内容的提问来源于stack exchange,提问作者NITHEESH
相关产品推荐
相关产品推荐

