# huaweicloud-solution-building-a-wechat-content-trasmission-platform **Repository Path**: HuaweiCloudDeveloper/huaweicloud-solution-building-a-wechat-content-trasmission-platform ## Basic Information - **Project Name**: huaweicloud-solution-building-a-wechat-content-trasmission-platform - **Description**: 一键搭建微信公众号收发文本消息后台 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master-dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-11-08 - **Last Updated**: 2023-01-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [TOC] **解决方案介绍** =============== 该解决方案能帮您快速搭建微信公众号收发文本消息处理后台。适用于需要使用Python语言编写对应的微信消息处理逻辑代码,接收从微信服务端转发过来的消息,并返回处理结果给最终用户的场景。 解决方案实践详情页面:[https://www.huaweicloud.com/solution/implementations/building-a-wechat-content-trasmission-platform.html](https://www.huaweicloud.com/solution/implementations/building-a-wechat-content-trasmission-platform.html) **架构图** --------------- ![方案架构](./document/building-a-wechat-content-trasmission-platform.png) **架构描述** --------------- 该解决方案会部署如下资源: - 部署1台弹性云服务器ECS,作为微信公众号处理后台服务器 - 部署1个弹性公网EIP并关联弹性云服务器ECS,用于与微信服务器间进行网络数据通信 - 部署1个账号密钥对并关联弹性云服务器ECS,用于以SSH密钥方式登录Linux云服务器ECS进行管理操作 **组织结构** --------------- ``` lua huaweicloud-solution-building-a-wechat-content-trasmission-platform ├── building-a-wechat-content-trasmission-platform.tf.json -- 资源编排模板 ├── userdata ├── wechat-content-trasmission.sh -- 脚本配置文件 ``` **开始使用** --------------- 1、登录华为云控制台 登录[华为云控制台](https://console.huaweicloud.com/console/?region=cn-north-4#/home)。 图1 控制台 ![华为云控制台](./document/readme-image-001.png) 2、查看ECS实例 在[弹性云服务器ECS控制台](https://console.huaweicloud.com/ecm/?agencyId=21c19ac150bf4867a8302133acfa94ec®ion=cn-north-4&locale=zh-cn#/ecs/manager/vmList),查看该方案一键部署创建的ECS实例及其绑定的弹性公网IP。 图2 ECS实例 ![ECS实例](./document/readme-image-002.png) > [**温馨提示**] > > 若您只是想验证该解决方案一键部署后的效果而无需登录弹性云服务器ECS进行相关管理操作的话,可跳过步骤3、4、5。 3、查看账号秘钥对和ECS的绑定关系(可选) 在[数据加密服务DEW控制台](https://console.huaweicloud.com/dew/?agencyId=21c19ac150bf4867a8302133acfa94ec®ion=cn-north-4&locale=zh-cn#/dew/kps/kpsList/ecsList),查看该方案一键部署创建的账号秘钥对与弹性云服务器ECS实例的绑定关系。 图3 账号秘钥对和ECS的绑定关系 ![账号秘钥对和ECS的绑定关系](./document/readme-image-003.png) 4、查看并导出需要登录的ECS绑定的私钥到本地(可选) 在[数据加密服务DEW控制台](https://console.huaweicloud.com/dew/?agencyId=21c19ac150bf4867a8302133acfa94ec®ion=cn-north-4&locale=zh-cn#/dew/kps/kpsList/accountKey),查看该方案一键部署生成的账号秘钥对,并导出需要登录的ECS绑定的私钥到本地。 图4 导出账号秘钥对 ![账号秘钥对](./document/readme-image-004.png) 5、登录ECS(可选) 通过Xshell或其他SSH客户端以私钥方式连接云服务器即可登录。SSH默认的连接端口为5000。 图5 登录ECS ![登录ECS](./document/readme-image-005.png) > [**温馨提示**] > > 1. 该解决方案默认将微信公众号消息的处理脚本程序置于/usr/local/initialize-wechat-environment路径下。如>需自定义返回消息格式或者使用自研程序,请自行更改该解决方案部署的ECS中该路径下的预设脚本程序。 2. 该解决方案默认仅支持http。如需支持https,请自行更改安全组规则。 6、微信公众平台启用开发者模式 1.登录微信公众平台,选择“开发 > 基本配置”,单击“修改配置”。 2.填写配置信息,单击“提交”。 - URL:http://该解决方案部署的ECS的弹性公网IP/wx。 - Token:需要与handle.py中对应token取值完全一致。 - EncodingAESKey:随机生成。 - 消息加解密方式:此为示例,选择简单的“明文模式”。 - 验证token成功,单击“启用”。 > [**温馨提示**] > > 1. 如果token验证失败,请检查Token配置与handle.py中GET消息处理代码是否一致。 2. 如遇关机或其他异常导致Python脚本进程监听的80端口失效时,可运行以下命令使其重新监听80端口:nohup python3 /usr/local/initialize-wechat-environment/main.py 80 > /dev/null 2>/usr/local/initialize-wechat-environment/wx.log &。 7、验证 使用微信关注公众号,任意发送一条文本消息,看是否能够收到回复。如能收到回复则表明系统处理正常。