Node.js + Express.js |尝试设置 HTTPS 服务器
Posted
技术标签:
【中文标题】Node.js + Express.js |尝试设置 HTTPS 服务器【英文标题】:Node.js + Express.js | Trying to set up a HTTPS server 【发布时间】:2019-06-07 19:59:39 【问题描述】:我正在尝试使用 Node.js 和 Express.js 设置 HTTPS 服务器。
我目前正在尝试:
const filesystem = require('fs');
const express = require('express');
const server = express();
const http = require('http').Server(server);
const https = require('https');
const io = require('socket.io')(http);
require('./routes')(server);
require('./chat-logic')(io);
// Dummy cert
const privateKey = filesystem.readFileSync('cert/key.pem', 'utf8');
const certificate = filesystem.readFileSync('cert/cert.pem', 'utf8');
const credentials = key: privateKey, cert: certificate;
const httpsServer = https.createServer(credentials, server);
server.use(express.static(__dirname + '/src'));
http.listen(3000, () => console.log('Listening on *3000'));
httpsServer.listen(3443, () => console.log('HTTPS on *3443'));
但是,我收到此错误:
_tls_common.js:134
c.context.setKey(key, passphrase);
^
Error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt
我在这里做错了什么?
【问题讨论】:
我猜证书不正确。 @Prasheel 我如何获得证书? sslshopper.com/ssl-checker.html 【参考方案1】:尝试在此行中提及您的密钥passphrase
或提供一个空字符串''
:
const credentials = key: privateKey, cert: certificate, passphrase: '??';
【讨论】:
不幸的是,这不起作用。错误还是一样。 您已将??
替换为您的密码(如果存在)或传递了一个空的''
字符串,但仍然无法正常工作。对吗?
我好像输错了密码...现在可以使用了,非常感谢!以上是关于Node.js + Express.js |尝试设置 HTTPS 服务器的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Node.js / Express.js 中将中间件放在它自己的文件中
使用 Node.js 和 Express.js 在 MySQL 中删除给定值数组的多行
firebase node.js/express.js 添加多个firebase函数
在Javascript(node.js,express.js,ejs)中访问服务器端变量[关闭]