Skip to content

问题描述

在微信公众平台(mp.weixin.qq.com)配置【基本配置】 -> 【服务器配置(URL与Token)】时,点击提交后微信提示: Token验证失败请求URL超时

根本原因

微信公众平台验证服务器地址的原理是:微信服务器向填写的 URL 发送一个带有 signaturetimestampnonceechostr 四个参数的 GET 请求。 EBAOZU 后端接收请求后,利用后台配置的 Token 进行字典序 SHA1 签名计算并与 signature 进行比对。若比对一致则将 echostr 原样输出给微信服务器,完成接入验证。

若验证失败,通常由以下原因造成:

  1. Token 不一致:EBAOZU 后台保存的 Token 与微信公众平台填写的 Token 不一致。
  2. 配置保存顺序错误:未先在 EBAOZU 后台保存 Token,就直接去微信公众平台提交验证。
  3. URL 协议/路径错误:协议(HTTP/HTTPS)写错,或缺少 /api/wechat/serve 路径。
  4. 端口限制:微信服务器仅支持 80 端口(HTTP)或 443 端口(HTTPS),不支持非标准端口。
  5. 防火墙拦截:宝塔防火墙、云厂商安全组或 CDN 拦截了微信服务器的来源 IP 或将 GET 请求拦截返回了 403/验证码页面。

标准配置与排查步骤

检查配置顺序

  1. 先登录 EBAOZU 平台总后台 -> 【设置】 -> 【系统设置】 -> 【公众号配置】。
  2. 填写 Token (令牌)(例如设置为 32 位的随机英文字符串),同时填写 AppID 和 AppSecret。
  3. 点击【保存】使后端配置生效。
  4. 然后再前往微信公众平台填写相同的 URL 和 Token 并提交。

核对服务器 URL 与端口

微信公众平台填写的服务器地址(URL)必须为:

text
https://你的域名/api/wechat/serve
  • 若站点已开启强制 HTTPS,URL 必须以 https:// 开头
  • 不得包含任何自定义端口号(如 :8888:20697)。

本地与浏览器连通性测试

在浏览器直接访问该 URL(例如 https://你的域名/api/wechat/serve):

  • 正常响应:通常页面输出空白,或响应特定签名异常文本(表示请求已顺利到达后端 PHP 控制器)。
  • 异常响应:若出现 502 Bad Gateway404 Not Found500 Internal Server Error,说明 Swoole 服务未运行或反向代理未正确配置,需先排查站点服务。

检查防火墙与防红/防盗链配置

若站点开启了 CDN、WAF、宝塔网站防篡改或 Nginx 级别的人机验证,微信服务器的 GET 校验请求可能会被拦截。请临时将微信服务器 IP 加入白名单或关闭拦截规则后再次重试提交。

承信租多门店租赁商城系统官方文档