3

我之前在 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)

我试图找到解决方案,但找不到任何解决方案。任何人都可以帮助我。提前致谢。

4

1 回答 1

2

出于某种原因,Express 认为您想要启动一个 HTTPS 服务器。我的猜测是这是因为您的代码中的这一行:

var app = module.exports = express.createServer(form({ keepExtensions: true }));

链接

但是,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 }));
于 2013-04-09T10:28:20.387 回答