微信小程序访问nodejs配置https

版权声明:本文为 zzwwjjdj1(意外金喜) 原创文章,非商用自由转载-保持署名-注明出处,谢谢。 https://blog.csdn.net/zzwwjjdj1/article/details/80080286

微信小程序访问nodejs后端,配置https,

本文以腾讯云申请的免费SSL证书express命令行生成的项目代码为例。

在腾讯云申请的免费SSL证书压缩包解压后有4种证书,分别是TomcatNginxIISApache需要的证书。


那么,nodejs代码中keycrt应该 使用哪种证书呢?如果使用错误,在微信开发者工具也是能成功的,

但是在真机测试的时候就会报以下错误,request:fail ssl hand shake error.

经过多次掉坑和调试,最终得到的结果是需要使用Nginx里的key和crt文件


把解压的Nginx文件夹放到项目根目录,只需要修改下bin目录下的www文件就能完成https的配置!

1、修改端口号,把3000改为443

let port = normalizePort(process.env.PORT || '443');

2、引入https、path和fs模块,添加几行代码,原来的http.createServer删掉

let fs = require('fs');
let path = require('path');
let https = require('https');
let server = https.createServer({
  key: fs.readFileSync(path.resolve(__dirname, '../Nginx/2_www.nodejs999.com.key'), 'utf8'),
  cert: fs.readFileSync(path.resolve(__dirname, '../Nginx/1_www.nodejs999.com_bundle.crt'), 'utf8')
}, app);

这样就完成了nodejs端的https配置。如果需要同时支持http和https也是可以的,原来的http不删除。

下面是我个人的小程序二维码。


意外金喜的博客:http://blog.csdn.net/zzwwjjdj1

更多小程序文章:http://blog.csdn.net/zzwwjjdj1/article/details/79351547

没有更多推荐了,返回首页