'缺少PFX或证书+私钥。'在https socket.io中

时间:2015-12-10 22:15:35

标签: ssl socket.io

我已经有这个问题已经有一段时间了,但是无法理解......我没有尝试过任何真正有用的东西。从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)

有人可以帮助我吗? tyvm ...

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

1 个答案:

答案 0 :(得分:3)

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