怎么用ip代理设置微信公众号后台服务?

后台服务可以用代理服务器?

的后台服务我们可以用代理服务器来搭建吗?通过这样设置,我们可以将后台转移到代理服务器上面,下面让我们来看看具体的操作步骤是怎么样的。

一、申请个人订阅号

1、注册开发者账号

如果你还不是订阅号开发者,请先在公众平台注册:

https://mp.weixin.qq.com

2、获取订阅号公众平台认证字段信息

我们需要获取3个字段:AppID Token EncodingAESKey。

登录公众平台,依次进入 开发->基本配置 可以拿到 AppID。

在基本配置 -> 服务器配置 -> 修改配置 表单中:

URL 填第一步申请的域名;

Token 用户根据提示填写,用于后面校验服务端合法性;

EncodingAESKey 点击随机生成按钮来生成。

Snipaste_2019-11-18_14-40-41.png

当点击表单提交按钮时,会通过 Token 来校验 URL 的合法性,这个我们在后面步骤实现,此界面暂时保留不关闭。

二、搭建 HTTP 服务

1、安装 NodeJS 和 NPM

使用下面的命令安装 NodeJS 和 NPM

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -yum install nodejs -y

安装完成后,使用下面的命令测试安装结果

node -v

2、编写 HTTP Server 源码

创建工作目录

mkdir -p /data/release/weapp

进入此工作目录

cd /data/release/weapp

创建 package.json

在刚才创建的工作目录创建 package.json,添加我们服务器包的名称和版本号,如下。

package.json

""name"": ""weapp"",

""version"": ""1.0.0""

完成后,使用 Ctrl + S 保存文件

添加 Server 源码

在工作目录创建 app.js,使用 Express.js 来监听 5050 端口,可参考下面的示例代码(注:将 app.js 文件中的token/appid/encodingAESKey等配置项替换为你的订阅号对应的取值)。

app.js

// 引用 express 来支持 HTTP Server 的实现

const express = require(express);

// 引用公共平台自动回复消息接口服务中间件

var wechat = require(wechat);

// 创建一个 express 实例

const app = express();

// 配置公众平台参数,在教程第二步中获取

var config = {

token: your token, // 填第二步中获取的 `token`

appid: your appid, // 填第二步中获取的 `appid`

encodingAESKey: your encodingAESKey, // 填第二步中获取的 `encodingAESKey`

checkSignature: true // 可选,默认为true。由于公众平台接口调试工具在明文模式下不发送签名,所以如要使用该测试工具,请将其设置为false

app.use(express.query());

app.use(/, wechat(config, function (req, res, next) {

res.reply({

content: 你好,Hello World!,

type: text

// 监听端口,等待连接

const port = 5050;

app.listen(port);

// 输出服务器启动日志

console.log(`Server listening at :${port}`);

3、运行 HTTP 服务

在开始之前,我们先来安装 PM2

npm install pm2 --global

PM2 安装时间可能稍长,请耐心等候

安装 Express

服务器源码里使用到了 Express 模块,下面的命令使用 NPM 来安装 Express

cd /data/release/weapp

npm install express --save

安装 Wechat

服务器源码里使用到了 Wechat 模块,下面的命令使用 NPM 来安装 Wechat

cd /data/release/weapp

npm install wechat --save

启动服务

安装完成后,使用 PM2 来启动 HTTP 服务

cd /data/release/weapp

pm2 start app.js

现在 HTTP 服务已经在 http://你的服务器IP:5050 运行

要查看服务输出的日志,可以使用下面的命令:

pm2 logs

如果要重启服务,可以使用下面的命令:

pm2 restart app

三、搭建 nginx 对外服务

1、安装 Nginx

在 CentOS 上,可直接使用 yum 来安装 Nginx

yum install nginx -y

安装完成后,使用 nginx 命令启动 Nginx:

nginx

此时,访问 http://你的服务器IP 可以看到 Nginx 的测试页面

2、配置 HTTP 反向代理

外网用户访问服务器的 Web 服务由 Nginx 提供,Nginx 需要配置反向代理才能使得 Web 服务转发到本地的 Node 服务。

Nginx 配置目录在 /etc/nginx/conf.d,我们在该目录创建 wechat.conf

wechat.conf

server {

listen 80;

server_name www.example.com; # 改为第一步申请的域名

location / {

proxy_pass http://127.0.0.1:5050;

按 Ctrl + S 保存配置文件,让 Nginx 重新加载配置使其生效:

nginx -s reload

在浏览器通过 http 的方式访问你解析的域名来测试 HTTP 是否成功启动

四、使用Server端回复消息

1、提交服务端配置

我们将第一步公众平台中保留的表单提交,同时将 基本配置 -> 服务器配置 启用

2、关注、发送与消息回复

首先通过二维码关注订阅号

在聊天界面向发送一条消息

最终我们会回到一条 你好,Hello World! 的回复

经过上面这些步骤的设置,我们就完成了后台服务的设置了。