nodejs http转https

本文介绍如何使用Node.js的Express框架配置HTTPS服务器,包括申请SSL证书、读取私钥和证书文件、设置HTTP到HTTPS的重定向及创建并启动HTTP与HTTPS服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录如下:
1、申请证书
2、修改配置如下:

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

var privateKey  = fs.readFileSync('/repo/ssl/8996123_www.xxx.cn.key', 'utf8');
var certificate = fs.readFileSync('/repo/ssl/8996123_www.xxx.cn.crt', 'utf8');
var credentials = {key: privateKey, cert: certificate};

var app = express();

app.use("/", (req, res, next) => {
  if(req.protocol === 'http'){
    // console.log('HTTP Server is running on port', `${req.headers.host}${req.url}`);
    res.redirect(301, `https://${req.headers.host}${req.url}`)
  }
  next()
});

app.use('/',express.static(__dirname + "/public"));


var httpServer = http.createServer(app);
var httpsServer = https.createServer(credentials, app);
var PORT = 80;
var SSLPORT = 443;

httpServer.listen(PORT, function() {
    console.log('HTTP Server is running on port', PORT);
});

httpsServer.listen(SSLPORT, function(){
    console.log('Express https server listening on port ' + SSLPORT);
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值