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.js中间件有哪些类型

    浅谈node.js中间件有哪些类型

    这篇文章主要介绍了node.js中间件有哪些类型,对中间件感兴趣的同学,可以参考下
    2021-04-04
  • nodejs如何读取文件二进制 前端响应blob或base64显示图片

    nodejs如何读取文件二进制 前端响应blob或base64显示图片

    这篇文章主要介绍了nodejs如何读取文件二进制 前端响应blob或base64显示图片方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Node.js中child_process实现多进程

    Node.js中child_process实现多进程

    这篇文章主要介绍了Node.js中child_process实现多进程,需要的朋友可以参考下
    2015-02-02
  • 一文教你如何使用Node进程管理工具-pm2

    一文教你如何使用Node进程管理工具-pm2

    这篇文章详细介绍了如何使用node进程管理工具pm2,文中代码示例讲解的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以借鉴一下
    2023-04-04
  • Node.js Continuation Passing Style( CPS与回调)

    Node.js Continuation Passing Style( CPS与

    这篇文章主要介绍了Node.js Continuation Passing Style,将回调函数作为参数传递,这种书写方式通常被称为Continuation Passing Style(CPS),它的本质仍然是一个高阶函数,CPS最初是各大语言中对排序算法的实现
    2022-06-06
  • node.js中的path.sep方法使用说明

    node.js中的path.sep方法使用说明

    这篇文章主要介绍了node.js中的path.sep方法使用说明,本文介绍了path.sep的方法说明、语法、使用实例,需要的朋友可以参考下
    2014-12-12
  • windows系统下更新nodejs版本的方案

    windows系统下更新nodejs版本的方案

    这篇文章主要介绍了windows系统下更新nodejs版本的方案,在文章给大家介绍了NodeJS 与 npm 在Windows下升级问题,需要的朋友可以参考下
    2017-11-11
  • 详解npm与package.json之间的联系

    详解npm与package.json之间的联系

    这篇文章主要为大家介绍了npm与package.json之间的联系图文示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • node.js中EJS 模板快速入门教程

    node.js中EJS 模板快速入门教程

    本篇文章主要介绍了EJS 模板快速入门学习,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Node.js使用定时器的三种方法

    Node.js使用定时器的三种方法

    在Node.js中使用定时器是一项常见且重要的任务,本文主要介绍了Node.js使用定时器的三种方法,包括setTimeout、setInterval和setImmediate等方法,感兴趣的可以了解一下
    2024-02-02

最新评论