gpt4 book ai didi

javascript - 在 Express 服务器上启用 HTTPS

转载 作者:行者123 更新时间:2023-12-02 15:19:10 25 4
gpt4 key购买 nike

我正在尝试将我的 Express 服务器配置为使用 HTTPS,但遇到了一些问题。我按照文档设置了我的 HTTPS 服务器,但仍然遇到一些错误。

这是我的 app.js

var express = require('express');
var app = express();
var server = require('https').createServer(options, app);
var io = require('socket.io')(server);
var port = process.env.PORT || 3000;
var fs = require('fs');

var options = {
key: fs.readFileSync('/test/key.pem'),
cert: fs.readFileSync('/test/cert.pem')
};

server.listen(port, function () {
console.log('Server listening at port %d', port);
});

启动服务器时我遇到


https.js:32
if (process.features.tls_npn && !opts.NPNProtocols) {
^
类型错误:无法读取未定义的属性“NPNProtocols”
在新服务器上 (https.js:32:40)
在 Object.exports.createServer (https.js:56:10)

因此,我尝试在选项中定义 NPNProtocols,但这不起作用。这里有人有任何指示吗?谢谢。

最佳答案

尝试一次,我认为您应该拥有 .crt 格式的证书。并且您将需要 tls 模块。

var sslOptions = {
key: fs.readFileSync('public/server.key'),
cert: fs.readFileSync('public/server.crt')
};
tls.createServer(sslOptions, function (cleartextStream) {
var cleartextRequest = net.connect({
port: port,
host: serverStr
}, function () {
cleartextStream.pipe(cleartextRequest);
cleartextRequest.pipe(cleartextStream);
});
}).listen(443);

端口是你的http端口。 sercerStr 是您的服务器地址。

关于javascript - 在 Express 服务器上启用 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34216114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com