webhook回调接口配置错误是openclaw微信消息接收失败的主因,需依次验证端点连通性、ssl证书有效性、token/aeskey一致性、防火墙放行状态及微信授权会话有效性。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用OpenClaw对接微信时发现消息接收失败,且后台日志中未出现received message或dispatching相关记录,则极大概率是Webhook回调接口配置错误所致。以下是针对性修复步骤:
一、验证Webhook端点连通性与可访问性
OpenClaw的微信通道依赖外部服务(如企业微信/个人微信代理)向指定Webhook URL发起HTTP POST请求。若该URL不可达或响应异常,消息将无法入站。
1、进入OpenClaw后台“系统设置 → Webhook配置”,确认已填写完整且格式正确的URL,例如https://your-domain.com/webhook/weixin。
2、在服务器终端执行测试命令,模拟外部请求:
curl -X POST https://your-domain.com/webhook/weixin -H "Content-Type: application/json" -d '{"test":true}'
3、若返回404 Not Found或connection refused,说明Webhook路由未注册或反向代理未转发至OpenClaw网关进程。
4、检查Nginx/Apache配置,确保location /webhook/路径已正确代理至OpenClaw默认监听地址http://127.0.0.1:18789,并启用proxy_set_header X-Forwarded-For $remote_addr;以保留原始IP。

二、校验SSL证书与HTTPS强制策略
微信官方要求所有回调地址必须使用有效HTTPS协议,且证书需由受信任CA签发;自签名证书或过期证书将导致微信服务器拒绝发送消息。
1、使用浏览器访问您配置的Webhook URL,确认地址栏显示绿色锁形图标且无证书警告。
2、通过在线工具(如SSL Labs)检测证书链完整性及有效期,重点排查中间证书缺失问题。
3、若使用Let’s Encrypt,确认certbot renew任务已启用自动续期,并在续期后执行systemctl reload nginx重载配置。
4、检查OpenClaw配置文件config.yaml中server.https.enabled是否设为true,且server.https.key与server.https.cert路径指向当前有效证书文件。

三、修正回调Token与EncodingAESKey一致性
微信要求每次回调请求携带msg_signature、timestamp、nonce三参数,并使用后台配置的Token和EncodingAESKey进行签名验证。任一参数不匹配即触发403拒绝响应。
1、登录企业微信管理后台或微信开放平台,复制“接收消息”区域中的Token与EncodingAESKey值。
2、在OpenClaw后台“渠道管理 → 微信 → 配置编辑”中,逐字粘贴对应字段,严禁手动修改或添加空格、换行符。
自动备份 OpenClaw 整体配置到远程存储(支持任意 rclone 后端:COS、S3、FTP、SFTP、WebDAV等)。 触发场景: - 创建/配置自动备份任务 - 设置备份周期、保留份数、目标目录 - 手动触发备份 - 查看/恢复备份 - OpenClaw 运行异常时的提醒
3、执行命令验证签名逻辑是否同步:
openclaw weixin verify-signature --token "your_token" --aeskey "your_aes_key" --timestamp 1713369600 --nonce abc123 --body '{"xml":{}}'
4、若输出signature match: true,说明本地签名模块可用;否则需检查插件版本是否匹配OpenClaw宿主v2026.3.31及以上。

四、排查防火墙与端口映射阻断
即使Webhook URL可公网访问,若服务器防火墙或云厂商安全组拦截了入站流量,微信请求仍会在网络层被丢弃,不会触发任何应用日志。
1、登录云服务器控制台(如阿里云ECS、腾讯云CVM),检查安全组规则是否放行TCP 443端口(HTTPS)及所用Webhook端口(如8080、18789)。
2、在服务器本地执行:
sudo ufw status verbose(Ubuntu)或
sudo firewall-cmd --list-all(CentOS)
3、确认输出中包含443/tcp或自定义Webhook端口的状态为ALLOW。
4、若部署于内网环境且使用内网穿透(如frp/ngrok),检查穿透服务配置中custom_domains是否绑定到正确域名,并确认穿透客户端进程处于运行状态(ps aux | grep frpc)。
五、重置微信授权绑定与会话状态
当旧账号残留、多设备扫码冲突或OAuth2授权过期时,OpenClaw可能维持无效会话,导致虽能接收请求但无法完成消息解析与路由。
1、在OpenClaw后台执行:
openclaw weixin accounts list
2、识别输出中状态为EXPIRED或INVALID的账号条目,记录其ID(如weixin-abc123)。
3、执行解绑命令:
openclaw weixin accounts remove weixin-abc123
4、重新触发微信扫码绑定流程,务必使用全新二维码,避免复用已过期链接。
5、绑定成功后,等待约30秒,观察gateway.log中是否持续输出agent:main:openclaw-weixin:xxxx活跃会话标识。









