微信小程序 node搭建https服务器

一、微信小程序需要什么

  1. 需要经过ICP备案的域名
    像.club这样的国际域名,说是已经备案了,但在微信公众平台设置还是不可用的。
    在这里插入图片描述
    在这里插入图片描述
    需要老老实实去阿里云备案【传送带】,一般需要20个工作日。

  2. 需要云服务器

  3. 需要把你的域名解析到你的云服务器上

二、node开启https服务

上代码(改掉ssl证书的文件名为你自己的,第三部分会说如何生成你的SSL证书)

var express = require('express');
var app = express();
var https=require('https'),fs=require('fs');

var homepage={
  columns:['春节','元宵节','清明节','端午节','中秋节','国庆节','重阳节','元旦']
};

// https服务
var options={
  key:fs.readFileSync('./ssl/yourkey.key'),
  cert:fs.readFileSync('./ssl/yourcert.crt')
}
https.createServer(options,function(req,res){
  res.writeHead(200,{
    "Content-Type":"text/html",
    'charset':'utf-8',
    'Access-Control-Allow-Origin':'*',
    'Access-Control-Allow-Methods':'PUT,POST,GET,DELETE,OPTIONS'
  });
  data=homepage;
  console.log(data);
  res.end(JSON.stringify(data));
}).listen(8443);
console.log('Server running at https://127.0.0.1:8443/');

三、SSL证书

问题来了,SSL证书如何获得?像我这种小白自然是连SSL是啥都不知道的。大概就是一个key和一个cert,生成的证书如果是安全的,则可以成功开启https服务。
如何生成呢?

  1. 我是先来了波自签名证书,小白嘛,总是网上说什么就试什么的。
    前端们一定电脑上基本都装了git客户端,那么就可以直接打开你的git bash,进行下面的操作:
//1、生成私钥key文件:
openssl genrsa -out privatekey.pem 1024

//2、通过私钥生成CSR证书签名  (需要填一些信息、可直接回车)
openssl req -new -key privatekey.pem -out certrequest.csr

//3、通过私钥和证书签名生成证书文件 
openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem

出现Signature ok表示成功,可以发现电脑里多了这三个文件:
privatekey.pem: 私钥
certrequest.csr: CSR证书签名
certificate.pem: 证书文件
在这里插入图片描述
发现我是在C:/Users/cxyi文件路径下进行的git,自然这三个文件也生成在此目录下:
在这里插入图片描述
把文件放到自己的项目目录下引用就可以使用了。
但是!不能使用自签名证书!会变成下面这样
在这里插入图片描述
证书不合法。。。

  1. 使用腾讯云下载下来的证书(因为我域名是在腾讯云买的)
    在这里插入图片描述
    在这里插入图片描述
    即可下载到一个包含很多服务版本的ssl证书:
    在这里插入图片描述
    把node代码中的两个文件替换成这个证书的Nginx版本下的两个文件就可以使用了,不会有隐私设置错误。
    在这里插入图片描述

四、关于云服务器

  1. 在云服务器上安装node,拷贝后台node项目到云服务器上,运行即可。如果不能正常访问,考虑出入站问题,设置你的服务器对应端口开启。
  2. 需要注意跨域问题,第二部分的代码中已经进行了跨域的处理:
'Access-Control-Allow-Origin':'*',
'Access-Control-Allow-Methods':'PUT,POST,GET,DELETE,OPTIONS'
  1. 如何使用云服务器拷贝文件
    远程桌面连接时:
    在这里插入图片描述
    选择你的文件磁盘
    在这里插入图片描述
    这样就可以在云服务器上的文件资源管理器上看到你的D盘了。
    在这里插入图片描述

五、关于微信小程序的开发环境

怎样无需域名、备案,在本地即可进行开发呢?
只需打开微信开发者工具–>详情–>勾选:不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书。
在这里插入图片描述
这样当你域名还未备案成功时,可以先在本地进行node的https服务的前后台开发(直接使用还未备案的域名即可,因为你的服务器是可以直接用的,只是当成普通的web项目),备案成功后:

  1. 登录微信公众平台–>开发设置–>服务器域名,填入备案好的域名;
  2. 打开微信开发者工具–>详情–>将之前勾选的不校验去掉勾选;
  3. 在微信开发者工具上传开发版本,在微信公众平台将开发版本提交审核,审核通过则成为线上版本。审核一般需要1-3个工作日。

猜你喜欢

转载自blog.csdn.net/sinat_38783046/article/details/86563577