【问题标题】:'Missing PFX or certificate + private key.' in https socket.io'缺少 PFX 或证书 + 私钥。'在 https socket.io
【发布时间】:2016-03-16 17:29:01
【问题描述】:

我已经有这个问题很长一段时间了,但无法弄清楚......我尝试的任何方法都没有真正的效果。从 ssl 文件到许多不同格式的转换和检查文件夹权限都没有工作(或者,更明确地说,这一切都应该工作)。有谁知道可能会发生什么?非常感谢你的帮助,我现在正处于绝望的一面......

这可能与版本有关吗?我如何检查是否是这种情况?

这是我的代码:

var ssl_options = {
    pfx : fs.readFileSync(my_pfx_path),
    passphrase: 'password'
};

//OR

var ssl_options = {
    key : fs.readFileSync(my_key_path),
    cert : fs.readFileSync(my_cert_path)
};

var protocol = "https";

preparedApp = require(protocol).createServer(ssl_options,app);

var io = require('socket.io')(preparedApp);

preparedApp.listen(8080, function(){});
io.on('connection', function(socket){});

这是我的 ssl_options 的日志...

{ key: <Buffer 41 ...>,
 cert: <Buffer 4a ...> }

此错误与标题中的错误throw new Error('Missing PFX or certificate + private key.');。

完整的跟踪日志:

 Error: Missing PFX or certificate + private key.
at Server (tls.js:1127:11)
at new Server (https.js:35:14)
at Object.Server (https.js:29:41)
at Object.<anonymous> (/nginx/script.js:477:34)
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)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)

有人可以帮帮我吗?太极...

我使用的是 socket.io 1.3.7 版 该证书在浏览器/non-socket.io 中使用常规 https。文件是正确的,所以我真的不知道为什么会发生这种情况

【问题讨论】:

  • 没有更多细节,看起来 my_key_path 不正确。确保它与您的应用程序运行所在的目录相关。
  • @gary nope,它不会像我故意放置错误文件时那样抛出任何“文件不存在”错误。我在它们中都使用了绝对路径
  • @Gary 我现在确定路径是正确的,您需要我提供哪些详细信息来假设可能出现的问题?
  • 您在帖子中使用的是第一个版本还是第二个版本的 ssl_options?您确定您使用的是正确的证书和密钥吗?
  • @gary 是的,我是......我真的不知道为什么会发生这种情况

标签: ssl socket.io


【解决方案1】:

我的代码中有一个损坏的 if 子句将协议返回到“http”并在尝试获取 ssl 信息时导致错误...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    • 2017-08-30
    • 1970-01-01
    • 2015-01-20
    • 2020-07-14
    • 1970-01-01
    • 2012-10-20
    相关资源
    最近更新 更多