基于ubuntu服务器搭建小程序后台https服务
基于腾讯云ubuntu16.04服务器搭建小程序后台https服务
由于小程序只支持https传输,所以需要在学生机上搭建一个HTTPS服务
前期服务器准备:
- 域名注册
- 域名解析
- 准备ssl证书
前期小程序开发准备:
- 微信公众号平台注册开发账户
- 在平台上配置小程序服务器信息(如合法域名的设置)
搭建https服务器
我这里使用的是nginx
- 首先要安装nginx
sudo apt-get install nginx -y
然后启动后访问自己的服务器地址就可以访问到nginx欢迎页面sudo /etc/init.d/nginx start
- 然后配置https的反向代理
- 1)修改 /etc/nginx 目录的读写权限
sudo chmod a+rw /etc/nginx
- 将之前下载的 SSL 证书(解压后 Nginx 目录分别以 crt 和 key 作为后缀的文件)使用winscp拖动到 /etc/nginx 目录的方式来上传文件到服务器上。
- 在 /etc/nginx/conf.d 目录创建 ssl.conf 文件
cd /etc/nginx/conf.d sudo touch ssl.conf sudo chmod a+rw ssl.conf
- 在该文件里写入如下内容:
server { listen 443; server_name www.example.com; # 改为绑定证书的域名 # ssl 配置 ssl on; ssl_certificate 1_www.example.com_bundle.crt; # 改为自己申请得到的 crt 文件的名称 ssl_certificate_key 2_www.example.com.key; # 改为自己申请得到的 key 文件的名称 ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { proxy_pass http://127.0.0.1:8765;#该端口为express服务启动时开启的端口 } }
- 1)修改 /etc/nginx 目录的读写权限
接下来就可以用nodejs搭建一个简单的HTTP服务了
(该服务应该会被定向到https上去)
服务代码如下:
// 引用 express 来支持 HTTP Server 的实现
const express = require('express');
// 创建一个 express 实例
const app = express();
// 实现唯一的一个中间件,对于所有请求,都输出 "Response from express"
app.use((request, response, next) => {
response.write('Response from express');
response.end();
});
// 监听端口,等待连接
const port = 8765;
app.listen(port);
// 输出服务器启动日志
console.log(`Server listening at http://127.0.0.1:${port}`);
在该服务所在文件夹下输入npm start
启动服务,若启动服务时报错不成功很可能是因为没有安装nodejs或express,自行安装之后即可。
启动之后就可以在浏览器里用https://你的域名
来访问啦
腾讯云开发者实验室:
https://cloud.tencent.com/developer/labs/gallery