【发布时间】: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 是的,我是......我真的不知道为什么会发生这种情况