微信小程序访问node.js接口服务器搭建教程


Posted in Javascript onApril 25, 2017

前言

最近在做微信的应用号小程序开发,小程序的后台数据接口需要https安全请求,所以需要我的nodejs服务器能够提供https的支持,现在就将整个https服务器的搭建过程说一下。

搭建教程如下:

首先,我试了一下以前的过期的证书,在开发者工具里模拟的时候可以正常访问接口,在手机里测试时候微信小程序的wx.request是会报SSL握手失败的错误(request error : request: fail ssl hand shake error),所以只能重新申请一个证书,这里推荐使用阿里云的赛门铁克 SSL/TLS 证书,是微信支持的,可以免费申请使用一年。

微信小程序访问node.js接口服务器搭建教程
赛门铁克SSL证书申请

申请完之后审核周期一般在1~3天,就可以下载证书文件,我们选择其他类别的证书

微信小程序访问node.js接口服务器搭建教程

解压出来之后的目录如下图,我们需要用到的文件为第一二个文件,也就是我们的私有秘钥文件。

微信小程序访问node.js接口服务器搭建教程

然后需要搭建我们的https服务器,这里用到的是nodejs自带的https模块

var https = require('https')
 ,fs = require("fs");

var express = require('express');
var app = express();

var options = {
 key: fs.readFileSync('./213988289600767.key'),
 cert: fs.readFileSync('./213988289600767.pem')
};

https.createServer(options, app).listen(8081, function () {
 console.log('Https server listening on port ' + 8081);
});

这时候要注意:微信的小程序只支持不带端口的域名接口,不支持IP地址和接口,所以我们需要映射到80端口并绑定备案过的域名才能被微信小程序访问到。

最后我们就可以通过wx.request方法来访问我们的nodejs服务器接口了。

微信小程序访问node.js接口服务器搭建教程
真机调试模式下打印接口数据

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
JavaScript高级程序设计 客户端存储学习笔记
Sep 10 Javascript
javascript事件函数中获得事件源的两种不错方法
Mar 17 Javascript
20条学习javascript的编程规范的建议
Nov 28 Javascript
jquery插件splitScren实现页面分屏切换模板特效
Jun 16 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
Sep 17 Javascript
easyui validatebox验证
Apr 29 Javascript
学习Bootstrap滚动监听 附调用方法
Jul 02 Javascript
js仿淘宝评价评分功能
Feb 28 Javascript
vue按需引入element Transfer 穿梭框
Sep 30 Javascript
详解koa2学习中使用 async 、await、promise解决异步的问题
Nov 13 Javascript
Vue实现搜索结果高亮显示关键字
May 28 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
Nov 09 Javascript
微信小程序中显示html格式内容的方法
Apr 25 #Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
Apr 25 #Javascript
详解Vue 动态添加模板的几种方法
Apr 25 #Javascript
详解vue-cli + webpack 多页面实例应用
Apr 25 #Javascript
基于Vue实现timepicker
Apr 25 #Javascript
VueJS如何引入css或者less文件的一些坑
Apr 25 #Javascript
详解Angular 4.x 动态创建组件
Apr 25 #Javascript
You might like
图书管理程序(二)
2006/10/09 PHP
ThinkPHP模板引擎之导入资源文件方法详解
2014/06/18 PHP
php函数连续调用实例分析
2015/07/30 PHP
php实现简单的上传进度条
2015/11/17 PHP
yii框架搜索分页modle写法
2016/12/19 PHP
Laravel框架创建路由的方法详解
2019/09/04 PHP
php7下的filesize函数
2019/09/30 PHP
js停止输出代码
2008/07/20 Javascript
Firefox中使用outerHTML的2种解决方法
2014/06/07 Javascript
js实现Form栏显示全格式时间时钟效果代码
2015/08/19 Javascript
JavaScript常用正则函数用法示例
2017/01/23 Javascript
vue 实现类似淘宝星级评分的示例
2018/03/01 Javascript
setTimeout时间设置为0详细解析
2018/03/13 Javascript
Angularjs Promise实例详解
2018/03/15 Javascript
vuejs实现标签选项卡动态更改css样式的方法
2018/05/31 Javascript
layui实现点击按钮给table添加一行
2018/08/10 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
亲自动手实现vue日历控件
2019/06/26 Javascript
KnockoutJS数组比较算法实例详解
2019/11/25 Javascript
js+canvas实现简单扫雷小游戏
2021/01/22 Javascript
[42:32]Secret vs Optic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
在Python中使用异步Socket编程性能测试
2014/06/25 Python
Python中使用logging模块打印log日志详解
2015/04/05 Python
Python中的单继承与多继承实例分析
2018/05/10 Python
Python对ElasticSearch获取数据及操作
2019/04/24 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
Python序列化pickle模块使用详解
2020/03/05 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
Python自动化测试基础必备知识点总结
2021/02/07 Python
五分钟学会HTML5的WebSocket协议
2019/11/22 HTML / CSS
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
如何配置、使用和清除Smarty缓存
2015/12/23 面试题
某个公司的Java笔面试题
2016/03/11 面试题
2019自荐信范文集锦!
2019/07/03 职场文书
SQL Server数据库备份和恢复数据库的全过程
2022/06/14 SQL Server