express启用https使用小记

 更新时间:2019年05月21日 10:33:30   作者:專吃貓啲鼠  
这篇文章主要介绍了express启用https使用小记,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

微信小程序的服务器域名只支持https和wss,我用nodejs的express作为后端服务,经百度和折腾,成功启用https服务。

总结以下几步,供参考。

1.申请SSL证书

笔者用的是腾讯云,申请的是为期一年免费的证书,具体申请步骤不展开介绍,颁发证书后,得到文件:

需要用到的文件在文件夹IIS中。

2.将证书放到项目中

将后缀为.pfx的证书文件放到express项目的静态文件夹中,笔者放在项目根目录下的public文件夹下。

3.在express的index.js中引用证书

import express from 'express';
import fs from 'fs';
import path from 'path';
import bodyParser from 'body-parser';
// 引入history模块
import history from 'connect-history-api-fallback';
import https from 'https';
const app = express();
const options = {
  pfx: fs.readFileSync(path.join(__dirname, 'public','www.****.***.pfx')),
  passphrase: '***********'
};
//options有两个选项,一个是证书本体,一个是密码(刚刚的IIS文件夹的keystorePass.txt文件中)
let server = https.createServer(options,app);
app.use(history());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));
app.use("/static/file",express.static(path.join(__dirname, 'public')));
app.use(function (req, res, next) {
  var err = new Error('Not Found');
  err.status = 404  next(err)});
// error handler
app.use(function (err, req, res, next) {
  res.status(err.status || 500);
  console.log(err);
  res.send(err.message)
});
// 设置监听端口
const SERVER_PORT = 3000;
server.listen(SERVER_PORT, (req, res) => {
  console.info(`服务已经启动,监听端口${SERVER_PORT}`)
})
export default app

引入https模块,设置options配置。

如上述代码,options有两个选项,一个是证书本体,一个是密码(刚刚的IIS文件夹的keystorePass.txt文件中)

之后定义server,传入option和express实例app,设置监听端口即可。

4.启动服务

将后端项目部署到服务器中,启动express,可正常访问https服务。

后言

笔者大四下,很遗憾之前完成毕业设计那段时间没有坚持写文章。

目前全栈开发了一款微信小程序,刚上线不久。还写了一款桌面程序,不过引入微信支付不太顺利。

希望能把自己的经验和遇到的坑多多写成文章记录下来,对同样有兴趣的朋友提供参考。也希望大家多多支持脚本之家。

相关文章

  • node连接redis的方法实现

    node连接redis的方法实现

    本文主要介绍了node连接redis的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Mac node删除以及重新安装案例详解

    Mac node删除以及重新安装案例详解

    这篇文章主要介绍了Mac node删除以及重新安装案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • node.js学习之base64编码解码

    node.js学习之base64编码解码

    开发者对Base64编码肯定很熟悉,是否对它有很清晰的认识就不一定了。实际上Base64已经简单到不能再简单了,这篇文章给大家通过示例代码介绍了node.js对字符串和图片base64编码解码的方法,有需要的朋友们可以通过本文来进行学习,下面来一起看看吧。
    2016-10-10
  • node.js 中国天气预报 简单实现

    node.js 中国天气预报 简单实现

    本文主要介绍使用node.js做一个自用的天气插件,需要的朋友可以参考下。
    2016-06-06
  • Nodejs对postgresql基本操作的封装方法

    Nodejs对postgresql基本操作的封装方法

    今天小编就为大家分享一篇Nodejs对postgresql基本操作的封装方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • nvm查看所有node包命令失效原因解决方案

    nvm查看所有node包命令失效原因解决方案

    使用nvm时可能会遇到超时问题,这是由于node的包存放在国外服务器上,解决方法是在nvm的配置文件中添加镜像地址,下面就来具体介绍一下步骤,感兴趣的可以了解一下
    2024-09-09
  • 详解50行代码,Node爬虫练手项目

    详解50行代码,Node爬虫练手项目

    这篇文章主要介绍了50行代码,Node爬虫练手项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 从零开始学习Node.js系列教程五:服务器监听方法示例

    从零开始学习Node.js系列教程五:服务器监听方法示例

    这篇文章主要介绍了Node.js服务器监听方法,结合实例形式分析了nodejs事件监听相关操作技巧,需要的朋友可以参考下
    2017-04-04
  • node.js中module模块的功能理解与用法实例分析

    node.js中module模块的功能理解与用法实例分析

    这篇文章主要介绍了node.js中module模块的功能理解与用法,结合实例形式分析了node.js module模块的基本功能、原理、用法及相关操作注意事项,需要的朋友可以参考下
    2020-02-02
  • Node.js中的CommonJS模块化规范详解

    Node.js中的CommonJS模块化规范详解

    这篇文章主要介绍了Node.js中的CommonJS模块化规范,本文主要介绍了 CommonJS 规范在 Node 中的简单应用,主要就是导入和导出模块,需要的朋友可以参考下
    2023-02-02

最新评论