微信公众号服务器配置 token验证 http验证成功 https验证失败 解决方法
发布于 3 年前 作者 mintang 4222 次浏览 来自 分享

问题描述

使用http验证token时,可以验证成功。

使用https验证token时,验证失败,并且PHP log记录里也没查看到有微信发送消息的记录。

问题分析

1、我用的是宝塔面板,开了Nginx防火墙,所以我关了“非浏览器拦截”。

2、在微信开放社区里,关于“token验证失败”的问题很多,我也挨个看了一遍,最后找到ssl的问题。之所以会想到这个ssl,是因为在支付宝支付开发的时候,也遇到过ssl的问题:http时调用支付成功,https时调用支付失败。

问题解决

原因就是 网站配置的SSL证书没有CA根证书。

浏览器内置CA根证书,所以用浏览器访问网站的时候是正常的;而微信的安全验证不是通过浏览器验证的,所以就不安全了。也就验证失败了。

ssl证书,我虽然也用,但了解的不够详细。

原本我是SSL证书是在腾讯云申请的,在里面我没有找到现成的CA根证书,放弃。

我找到宝塔里的免费SSL,发现有现成的根证书:

在这里申请成功后,就会有根证书:

直接使用,就可以验证成功了。

原文地址:https://www.maosiji.com/weixin/wxgzh-token.html

成功示例

备注:上面的url、token、密钥都是错的。

回到顶部