推荐使用CentOS操作系统,本人在使用Ubuntu操作系统时安装第三方软件不是很顺利,导致在微信公众号服务器配置的Token验证失败不通过上浪费大量时间。

以下是 CentOS 和 Ubuntu的介绍:

抛开内核版本来说,Linux各发行版用的内核都是一样的,不同的只是安装的软件包。
CentOS是RedHat的社区版本,可以兼容RedHat的RPM安装包,一般用作服务器,预安装的也都是服务器的内容。除了没有RedHat服务外(反正要钱的咱也不会买),用起来与RedHat相差不大。包管理一般用rpm或者yum来管理。

Ubuntu是基于Debian发行版和GNOME桌面环境,也有KDE版本,属于较流行的发行版,它强化了图形方面的功能,有面向一般用户的桌面版本,也有服务器版本。因为其桌面版本比较漂亮,有较多多媒体方面的软件和ubuntu软件中心的支持,对一般用户也还算好用,所以较流行。其服务器版本也就没什么好说了,都差不太多。包管理一般用apt-get。

阿里云服务器+微信公众号配置操作如下:

1、购买阿里云服务器服务https://www.aliyun.com/,从“云服务器ECS”进入实例

远程登入服务器,输入root + 密码登入(实例,端口系统会默认选好)。

2、CentOS后台服务器的搭建

以下部分参考来源:https://yq.aliyun.com/articles/708415

安装NodeJS

首先执行以下命令

sudo su

下载最新的稳定版 v6.10.3 到本地

wget https://nodejs.org/dist/v6.10.3/node-v6.10.3-linux-x64.tar.xz

下载完成后, 将其解压

tar xvJf node-v6.10.3-linux-x64.tar.xz

将解压的 Node.js 目录移动到 /usr/local 目录下

mv node-v6.10.3-linux-x64 /usr/local/node-v6

配置 node 软链接到 /bin 目录

ln -s /usr/local/node-v6/bin/node /bin/node

配置 NPM

NPM 是 Node.js 的包管理和分发工具。它可以让 Node.js 开发者能够更加轻松的共享代码和共用代码片段

下载 node 的压缩包中已经包含了 npm , 我们只需要将其软链接到 bin 目录下即可

ln -s /usr/local/node-v6/bin/npm /bin/npm

配置环境变量

将 /usr/local/node-v6/bin 目录添加到 $PATH 环境变量中可以方便地使用通过 npm 全局安装的第三方工具

echo 'export PATH=/usr/local/node-v6/bin:$PATH' >> /etc/profile

生效环境变量

source /etc/profile

安装 Express

安装 Express 应用脚手架:

npm install express-generator -g

创建新的项目

执行

cd /data/
express yourApp

这时候会在 /data 生成应用目录 /yourApp,继续执行以下命令

cd yourApp
npm install
npm start

配置服务器信息,进入开发者模式

微信平台会去验证你填写的服务器的有效性,所以配置服务器前要先编写服务器有效性验证的代码。

在终端使用 Ctrl + C 终止刚才启动的服务,然后执行以下命令安装依赖的文件:

npm install xml2js sha1 querystring

编辑 app.js,参考下面的代码:
示例代码:/data/yourApp/app.js

var express = require('express');
var app = express();
var http = require('http');
var sha1 = require('sha1');
var xml2js = require('xml2js');
var querystring  = require('querystring');process.env.PORT = '80';
function checkSignature(req) {// 获取校验参数var signature = req.query.signature;var timestamp = req.query.timestamp;var nonce = req.query.nonce;// 此处为实验分配了一个 token,也可以修改为自己的 tokenvar token = 'Password';// 按照字典排序var params = [token, timestamp, nonce];params.sort();// 连接var str = sha1(params.join(""));// 返回签名是否一致return str == signature;
}// 接入验证
app.get('/', function(req, res) {// 签名成功if (checkSignature(req)) {res.send(200, req.query.echostr);} else {res.send(200, 'fail');}
});module.exports = app;

启动服务:

npm start

3、微信公众号配置

登录微信公众号平台,然后拉到页面的最下面左侧“开发”,点击基本配置菜单。获取AppID,AppSecret,填写IP白名单(把阿里云服务器的IP地址填写进去)

接着点击上图,服务器配置,修改配置:

填写以下信息:

  • 服务器地址(URL):填写 您的云服务器 IP 地址
  • 令牌(Token):填写上面代码中使用到的 Token,如无修改,直接使用 Password(阿里云服务器上的Token要和微信公众号Token设置为一模一样
  • 消息加解密密钥(EncodingAESKey):随机字符串。可以让平台生成。
  • 消息加解密方式:选择明文方式

配置完毕后点击提交,提交成功后,在基本配置菜单页面点击启用。

此时,微信用户给公众号发送的信息,会由微信平台转发给您的服务器,然后您的服务器进行处理后返回给用户。

最后点击提交,检查是否可以提交成功。

阿里云服务器+微信公众号配置(Token验证不通过)相关推荐

  1. 微信公众号配置 token验证失败 解决方案总结

    排查问题我将从以下几个步骤进行 自己编写的验证接口的问题 服务端配置问题 微信端出现的问题 一. 自己编写验证接口的问题 可能出现的情况 1.1 没有严格按照微信官方的要求进行token验证. 解决方 ...

  2. java微信公众号开发token验证失败的问题及解决办法

    java微信公众号开发token验证失败的问题及解决办法 参考文章: (1)java微信公众号开发token验证失败的问题及解决办法 (2)https://www.cnblogs.com/beardu ...

  3. 关于微擎公众号配置token验证失败原因

    微擎官方提示: 公众号时token验证失败的4个原因: 1.微擎是否更新到最新版. 2.站点下 站点设置中打开站点. 3.被云盾,防火墙等拦截. 4.临时域名不能使用(临时就是没有在运营商备案的域名) ...

  4. 阿里云服务器配置微信公众号token验证失败解决办法

    我使用的是阿里云服务器ECS 第一步 根据阿里云服务器提示部署LAMP环境 根据提示一步步完成 第二步 远程连接服务器 进入目录 /var/www/html/phpinfo.php 更改phpinfo ...

  5. 微信公众号配置 Token 认证以及消息推送功能

    前言 公众号服务配置 Token认证 如何配置 Token 认证接口 公众号获取网页授权及用户信息 导向 网页授权 关注后消息触发授权 公众号推送模板消息 模板消息功能插件 推送模版消息接口介绍 获取 ...

  6. 微信公众号配置token失败

    为什么80%的码农都做不了架构师?>>>    今天公司需要开发微信登陆,利用微信服务号做,刚开始配置微信公众号的时候,token一直验证失败 解决: 1:查看token是否与服务端 ...

  7. tp5微信开发(一) ---- 微信公众号配置token

    企鹅的文档写的比较纠结,或者说写的因为太过详细看的有点懵逼,大概的整理下我个人对微信公众号的理解,尽量用通俗易懂的方式,写的不对的地方欢迎指正,毕竟我也是菜鸟,本笔记仅供参考. 其实很多人的第一概念就 ...

  8. 微信公众号配置token

    1.在微信公众平台开发-基本设置页面,点击"修改配置"按钮,填写服务器地址(URL).Token和EncodingAESKey. token可以任意填写,对应验证的token,UR ...

  9. 微信公众号服务器配置token验证失败问题及菜单创建失败问题小结

    如果微信公众号的菜单需要调用我们自己后台代码接口的话,那么公众号后台的基本信息配置这里要启用服务器配置,如图: 如果在修改配置时提示token验证失败时,需要从两方面查找问题: ①.查看我们服务器上的 ...

最新文章

  1. 为什么我不建议你用阿里巴巴Java规范,而使用 Google Guava 编程?
  2. java numberutil_NumberUtil
  3. 石墨烯区块链(5)智能合约
  4. CIKM 2021 | 基于异质图学习的搜索广告关键词推荐
  5. vux 修改 设置 主题 颜色
  6. 计算机管理档案有什么好处,利用资料管理系统管理档案有什么好处
  7. 计算机曝光模式有哪些,摄影:单反相机中P、A、S、M四种曝光模式的用法详解 -电脑资料...
  8. postman支持socket吗_你必须知道postman和Jmeter做接口测试区别
  9. Pure Storage到底是一家怎样的企业?
  10. base64深入理解与判断、base32、base16
  11. 移动硬盘突然断电导致坏道产生
  12. cta 音频测试_CTA入网认证一般测试哪些项目流程
  13. Java并发编程学习-日记1、常见的IO模型、NIO、OIO
  14. iphone 存图片和视频到iPhone相册
  15. 单片机定时器实现的数字时钟
  16. php数字和字母互换,PHP实现十进制数字与二十六进制字母串相互转换操作示例
  17. 如何在图片上编辑文字?三招教你怎么编辑图片上的文字
  18. 软件著作权申请流程及注意事项,你知道多少?
  19. [bzoj3875][DP][最短路]骑士游戏
  20. 【2013年度CSDN博客之星】评奖:全文五言句,俺也拉个票

热门文章

  1. 企业级用户画像:开发RFM模型实例
  2. 菜鸟首次公开巴西3年规划 1000组中国智能快递柜来到巴西
  3. arduino电子时钟 简易版
  4. 想学文字生成图片?3招告诉你描述文字生成图片怎么做
  5. Codeforces 26B. Regular Bracket Sequence
  6. linux音频文件格式转换,Linux下常见音频格式之间的转换方法
  7. 云产品测试软件,云测试工具平台介绍
  8. Linux 命令 技能
  9. 音乐正版率关键数据缺失,网易云音乐IPO胜算几何?
  10. 2021年清华大学电子系985经验贴(一)