【发布时间】:2015-12-11 04:25:42
【问题描述】:
我正在尝试将我的快速服务器配置为使用 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) {
^
TypeError: Cannot read property 'NPNProtocols' of undefined
at new Server (https.js:32:40)
at Object.exports.createServer (https.js:56:10)
所以,我尝试在选项中定义 NPNProtocols,但没有奏效。有人在这里有任何指示吗? 谢谢。
【问题讨论】:
-
您需要在使用
.createServer()行之前初始化您的options对象。将其移到createServer()上方。
标签: javascript node.js express https