微信小程序访问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 相关文章推荐
jQuery Lightbox 图片展示插件使用说明
Apr 25 Javascript
jquery select(列表)的操作(取值/赋值)
Mar 16 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
Aug 02 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
Apr 10 Javascript
Angular.js如何从PHP读取后台数据
Mar 24 Javascript
Angular中$state.go页面跳转并传递参数的方法
May 09 Javascript
如何抽象一个Vue公共组件
Oct 17 Javascript
JavaScript实现的简单Tab点击切换功能示例
Jul 06 Javascript
一次让你了解全部JavaScript的作用域
Jun 24 Javascript
JavaScript中的null和undefined用法解析
Sep 30 Javascript
javascript利用canvas实现鼠标拖拽功能
Jul 23 Javascript
使用 JavaScript 制作页面效果
Apr 21 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
php下使用strpos需要注意 === 运算符
2010/07/17 PHP
php无限级分类实现方法分析
2016/10/19 PHP
Yii 2中的load()和save()示例详解
2017/08/03 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
javascript json2 使用方法
2010/03/16 Javascript
JavaScript toFixed() 方法
2010/04/15 Javascript
关于锚点跳转及jQuery下相关操作与插件
2012/10/01 Javascript
浅析JQuery中的html(),text(),val()区别
2014/09/01 Javascript
让angularjs支持浏览器自动填表
2014/11/10 Javascript
JavaScript数据结构和算法之二叉树详解
2015/02/11 Javascript
原生JS实现网络彩票投注效果
2016/09/25 Javascript
Vue从TodoList中学父子组件通信
2019/02/05 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
vue 父组件通过v-model接收子组件的值的代码
2019/10/27 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
JavaScript中条件语句的优化技巧总结
2020/12/04 Javascript
Python中使用Queue和Condition进行线程同步的方法
2016/01/19 Python
python实现SMTP邮件发送功能
2020/06/16 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
对python中不同模块(函数、类、变量)的调用详解
2019/07/16 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
美国家居装饰店:Pier 1
2019/09/04 全球购物
意大利买卖二手奢侈品网站:LAMPOO
2020/06/03 全球购物
.NET程序员的几道面试题
2012/06/01 面试题
医院护理人员的自我评价分享
2013/10/04 职场文书
公证委托书模板
2014/04/03 职场文书
推荐信格式范文
2014/05/09 职场文书
机械系毕业生求职信
2014/05/28 职场文书
无房证明范本
2014/09/17 职场文书
2015年汽车销售员工作总结
2015/07/24 职场文书
python将图片转为矢量图的方法步骤
2021/03/30 Python
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
Java Spring Boot请求方式与请求映射过程分析
2022/06/25 Java/Android