3

以前に node.js でモジュールを開発し、完全なテストの後、それを git ハブに入れました。今、私は gitup から同じモジュールの圧縮バージョンをダウンロードし、モジュールを実行しようとしましたが、すべての依存関係をインストールしましたが、今は次のエラーが発生しています

 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 に答える