我之前在node.js中开发了一个模块,在完成测试之后将其放在git hub中。现在我从githup下载了相同模块的压缩版本并尝试运行模块,安装了所有依赖项,但现在我收到以下错误
Error:Missing PFX + certificate + private key
完整的错误日志如下:
Error: Missing PFX or certificate + private key.
at HTTPSServer.Server (tls.js:1029:11)
at HTTPSServer.Server (https.js:35:14)
at HTTPSServer (C:/Social/node_modules/express/node_modules/connect/lib/https.js:34:16)
at new HTTPSServer (C:/Social/node_modules/express/lib/https.js:38:23)
at Object.exports.createServer (C:/Social/node_modules/express/lib/express.js:43:12)
at Object.<anonymous> (C:/Social/app.js:46:36)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
我试图找到解决方案但找不到任何解决方案。任何人都可以帮助我同样的。提前谢谢。
答案 0 :(得分:2)
出于某种原因,Express认为您要启动HTTPS服务器。我的猜测是因为代码中的这一行:
var app = module.exports = express.createServer(form({ keepExtensions: true }));
(link)
但是,Express使用此代码来查看它是否应该启动HTTPS服务器:
exports.createServer = function(options){
if ('object' == typeof options) {
return new HTTPSServer(options, Array.prototype.slice.call(arguments, 1));
} else {
return new HTTPServer(Array.prototype.slice.call(arguments));
}
};
这有点奇怪,因为form()
返回一个函数而不是一个对象。但可以肯定的是,尝试将代码重写为:
var app = module.exports = express.createServer();
app.use(form({ keepExtensions: true }));