2015-12-10 8 views
6

私はかなりの時間この問題を抱えていましたが、それを理解することはできませんでした。 sslファイルの変換からさまざまな形式への変換やフォルダのパーミッションのチェックは何もできませんでした(または、より明示的にするためには、すべて動作させる必要があります)。誰でも何ができるのか知っていますか? ...'PFXまたは証明書+秘密鍵がありません。' in https socket.io

は、これがバージョン関連している可能性があり、私はこの時点で絶望的な側面に取得しています、あなたの助けをありがとうございましたか!それはどうしたらいいですか?ここ

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 ...

私は、証明書がnon-socket.ioブラウザ/で定期的にhttpsで働いているsocket.ioバージョン1.3.7 を使用しています。ファイルには、これは

+0

詳細がないと、my_key_pathが正しくないようです。アプリケーションが実行されているディレクトリからの相対パスであることを確認してください。 – Gary

+0

@garyいいえ、意図的に間違ったファイルを置くと、 "ファイルが存在しません"というエラーは発生しません。私は両方の絶対パスを使用しています – Fane

+0

@Gary私は今、パスが正しいことを肯定的です。詳細は何が間違っているかもしれないと仮定するために必要ですか? – Fane

答えて

3

が起こってしなければならない理由を私は本当に私が「HTTP」にプロトコルを返され、SSL情報を取得しようとすると、エラーの原因となった私のコードで壊れた場合の句を持っていたかわからないが正しいです...

関連する問題