兜兜转转好几天,中间遇到端午节回老家呆了几天没有深究这个问题,今天上班了,抽空又在网上找了下解决方案,这里不得不吐槽下往上那些复制党,基本都是转载的,真心想问一下这些人,你们自己都试过么?就堂而皇之的转载了,你们转载的内容,狗屁不是,没一个能解决问题的!无奈之下,自己只有从头查起!由于上周是关闭了ssl证书验证就可以了,围绕这个点,我去查了下我网站配置的ssl证书的状态,不查不知道,居然还真的有问题,上图! 这是查询链接https://www.myssl.cn/tools/check-server-cert.html [图片] 好吧,既然知道缺少中间证书了,那就处理这个问题 继续研究怎么配置中间证书~~ 我的域名证书是在百度云申请的,下载下来是这三个文件 [图片] 解释一下,第一个是服务器证书文件,第二个是私钥,第三个是ca证书(其实内容就是中间证书) ok,再来看nginx上怎么把这个中间证书用上 这里需要把服务器证书文件+中间证书文件+根证书文件用回车拼接起来形成一个新的.crt文件就好了 根证书文件是不是没有听过?我也没有,但是有生成的地方!,附链接https://www.myssl.cn/tools/downloadchain.html [图片] 把服务器证书文件的内容全选复制到上面这个框框里,然后下一步 [图片] ok,现在要的东西都有了 直接sublime新建文件 依次把服务器证书的内容粘贴进去,然后回车换行,再把中间证书的内容复制粘贴进去,然后继续回车换行,最后把根证书文件内容复制进去,这里千万别搞多余的符号哦,只回车就行了,然后保存文件到新的.crt文件中,我这里就叫perfectmeal.mylifestyle.top_final.crt了,把这个文件上传的nginx目录下的cert里面 下一步,去nginx.conf里面,把ssl_certificate的配置目录指向perfectmeal.mylifestyle.top_final.crt 保存退出 :wq 重启nginx service nginx restart 再去检查一次ssl证书 [图片] 现在就正常了,再去postman里面开起证书验证请求一次 [图片] 看来没问题,那就去微信配置url和token [图片] 完美!
微信测试号接口配置信息,微信没有请求我的服务器地址,用浏览器却可以,域名有备案,请问是什么原因啊?我是个小白,最近申请了个测试号,想学一下微信开发,在配置接口配置信息的时候遇到点问题,一直都无法通过,下面是我的代码/** * 配置微信服务器 */ public function setServiceUrl(){ $echoStr = $_GET['echostr']; $params = input('get.');//获取所有的参数 //创建redis实例 $redis_config = config('redis'); $redis_config['select'] = 1;//这里选择1库 $redis_config['expire'] = 3600*24;//这里设置过期时间为1天 $redis = new Redis($redis_config); $redis->set('set_service_url', json_encode($params), 24*3600); if($this->checkSignature()){ header('content-type:text/plain;charset=utf-8'); ob_clean(); echo (integer)$echoStr; exit; } } /** * 检查签名 */ private function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = $this->config['token']; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } } 在输出echostr之前,我记录了一次请求,发现用浏览器直接访问链接时,redis里面有记录,下面是截图(参数都是我模拟加的) [图片] 但是我在微信测试号管理里点击保存时,直接给我提示配置失败,且reids里面没有被更新 [图片] [图片] 于是换个思路,用postman再试试看 [图片] 郁闷了,连postman也没有响应,然后在网上查了半天,说关闭postman中的ssl证书验证就行,于是,病急乱投医,试试再说! [图片] [图片] 这下貌似有返回值了,看来微信这边也是同样的,应该是ssl证书的问题咯? 但是问题也来了,为啥浏览器访问的时候,一点问题都没有,而微信验证和使用接口工具的时候就有证书问题呢?我的域名在是正常备案过的,且ssl证书也没有过期。 还是不死心,再去服务器查了nginx的日志 [图片] 可以看到,貌似请求都301了,这就有点涉及到我的知识盲区了,为啥浏览器就不301呐? 微信号:gh_ec145ad5c7d1 appid:wx1d488630d6ee3b15 求解答,不胜感激,好人一生平安[图片]
2022-06-06你好,我也遇到这个问题了,证书未过期,域名也是备案过过,浏览器可以访问,但是用postman访问的时候需要关闭ssl证书验证才能正常echo $echostr,否则就没有任何响应,感觉始终还是证书的问题,但是又实在想不到具体哪里有问题,我的服务器是阿里云的,域名是百度买的,请问你的问题解决了吗?
微信测试公众号接口配置信息总是提示失败微信测试公众号接口配置信息总是提示失败,本地内网穿透是好的,一到线上正式环境就配置不了。看日志没请求过来 服务器地址在浏览器中是能正常打开的,postman测试也没问题。 appid:wx9dcfcb0ef3141fdf
2022-06-01