Nodejs+Express搭建HTTPS服务

最近开发需要搭建一个https的服务,正好最近在用nodejs和express,于是乎想到就近就使用这两东西来搭建一个https的服务吧。这里搭建过程总共需要两步,第一步生成证书,第二步使用https模块启动服务。

生成自签名证书

这里因为是自己开发测试使用,因此就简单点使用自签名证书了。

使用 openssl 命令生成服务器私钥文件

openssl genrsa -out server.key 2048

生成证书请求

openssl req -new -key server.key -out server.csr

根据私钥和证书请求生成证书

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

使用nodejs的https模块

创建一个express项目(可以参考express官方文档),修改 app.js 文件,主要是问最后几行创建 https server部分。

var express = require('express');
var path = require('path');
var http = require('http');
var https = require('https');
var fs = require('fs');

var app = express();

app.get('/', function(req, res, next) {
   
  res.send('hello world');
});

var httpServer = http.createServer(app);
httpServer.listen(9080);

const options = {
   
  key: fs.readFileSync('./server.key'),
  cert: fs.readFileSync('./server.crt')
};
var httpsServer = https.createServer(options, app);
httpsServer.listen(9443);

测试

使用 “node app.js” 或 ”npm start“ 启动服务,然后访问 https://localhost:9443 进行验证。

相关推荐

  1. Nodejs+ExpressHTTPS服务

    2023-12-24 11:38:04       37 阅读
  2. Pythonhttp下载服务器

    2023-12-24 11:38:04       15 阅读
  3. nodejs服务

    2023-12-24 11:38:04       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-24 11:38:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-24 11:38:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-24 11:38:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-24 11:38:04       18 阅读

热门阅读

  1. C#编程语言的从入门到深入学习大纲

    2023-12-24 11:38:04       38 阅读
  2. 36.MYSQL的外键(foreign key)

    2023-12-24 11:38:04       32 阅读
  3. How to upgrade/downgrade Rubygems:

    2023-12-24 11:38:04       32 阅读
  4. 缓存-Redis

    2023-12-24 11:38:04       47 阅读
  5. 机器学习之过拟合和欠拟合

    2023-12-24 11:38:04       43 阅读
  6. 【leetcode100-018】【矩阵】矩阵置零

    2023-12-24 11:38:04       41 阅读
  7. SpringBootSQL监控

    2023-12-24 11:38:04       29 阅读
  8. MyISAM与InnoDB存储引擎的区别

    2023-12-24 11:38:04       39 阅读