写点什么

征文投稿丨使用轻量应用服务器搭建扫码测试项目

  • 2022 年 1 月 20 日
  • 本文字数:1368 字

    阅读完需:约 4 分钟

征文投稿丨使用轻量应用服务器搭建扫码测试项目

编者按:本文来自轻量应用服务器征文活动用户投稿,已获得作者(昵称初七)授权发布。


公司现有 WEB 项目已经集成进企业微信自建应用里,还需要对项目功能进行扩充,需要调用扫一扫功能进行条码或二维码的识别,因而购买了一台轻量应用服务器搭建这个扫码测试项目。


之所以选择轻量应用服务器,主要是看中它的简洁高效。服务器配置的选择与默认环境选择都十分的方便,而且每月赠送流量,不需要额外费用;网关安全方面,防火墙配置也是相当简单方便,只需要在控制台内添加规则即可。



接下来一步步展示我的测试项目的搭建过程。


一、镜像选择


镜像选择上,阿里云的轻量应用服务器提供了 22 款主流应用搭建环境,系统镜像与应用镜像都很丰富,可以满足不同开发者的多样化需求。由于我的相关程序都是用 go 开发的,所以我这里只选择了系统镜像,使用的是 SERVER 2008 R2 系统,够用即可无需最新。



二、服务器环境搭建

搭建服务器环境时,我只安装了 MSSQL_Express_2008R2、Telnet 客户端。由于我的应用对数据库依赖很低也没必要单独购买,所以只需要在现有系统上安装即可。下载地址:

https://www.microsoft.com/zh-cn/download/details.aspx?id=30438


三、编写网关程序

虽说叫轻量轻应用服务器,但也真不想让它太轻松。考虑到以后服务器 WEB 应用的增加,而服务器只有一个 80 端口,如果每个应用地址后再配一个“:端口”这样太丑陋了。所以我需要一个网关,现在网关产品很多,比如 Nginx。本着学习的态度,决定自己写一个反向代理程序。用 go 语言写反向代理还是很简单的,核心代码如下:


func (this *handle) ServeHTTP(w http.ResponseWriter, r *http.Request) {             remote, err := url.Parse("http://内网地址:内网端口/UrlPath")             if err != nil {                          panic(err)             }             proxy := httputil.NewSingleHostReverseProxy(remote)             proxy.ServeHTTP(w, r)}
复制代码


其他的主要还包括一些热加载配置,以及黑名单、访问控制等辅助功能设置项,根据自己的实际需要进行操作即可。


四、扫码测试项目开发


1、 新建应用

进入到企业微信后台→应用管理,创建应用“扫码测试”。



需要调用 JS-SDK,所以要在开发者接口内填写授信域名并完成验证。验证这里很重要,而且是必须的。



设置应用菜单如下图:



这样就完成了企业微信部分的工作。进入企业微信就可看到名为“扫码测试”的应用。进入后点下边的扫码菜单,即可进入扫码页面。



2、 后台服务

后台代码分为三部分:

路由代码部分:qy-weixin 获取签名信息及相关配置。用于前端通过 config 接口注入权限验证配置;doqrcode 是前端扫码页面。



后端代码部分

后端代码之一:获取 Token 用于获取应用 jsapi_ticket。由于操作受到调用次数限制,所以需要自己缓存 Token。



后端代码之二:获取应用的 jsapi_ticket,用于计算 agentConfig 的签名。由于操作受到调用次数限制,所以需要自己缓存 Ticket。



后端代码之三:签名及相关信息



前端页面代码部分






3、测试结果如下



以上就是使用轻量应用服务器搭建扫码测试项目所有信息与步骤,从运行结果来看很成功,后面会进行服务器的相关压力测试。


我在一台轻量应用服务器上运行了几个项目,基本没有卡顿或是终端连接等问题出现,总体上对轻量应用服务器很满意,简单方便。


点击我要投稿,参与轻量应用服务器全新升级的征文活动,奖励更多,每月都可以参与哦~

发布于: 刚刚阅读数: 2
用户头像

澎湃算力,无处不在。 2018.08.24 加入

阿里云弹性计算团队,关注虚拟化、通用计算、异构计算以及云上HPC和云上运维CloudOps。

评论

发布
暂无评论
征文投稿丨使用轻量应用服务器搭建扫码测试项目