2016-10-05 18 views
0

Expressサーバー用にHTTPSを構成しようとしています。 this question's answersから次のコードが見つかりました。Express.js HTTPSがサーバーを起動していません

console.log("Test 1"); 
var httpServer = http.createServer(app); 
console.log("Test 2"); 
var httpsServer = https.createServer(credentials, app); 
console.log("Test 3"); 
httpServer.listen(8080); 
console.log("Test 4"); 
httpsServer.listen(8443); 
console.log("Test 5"); 

問題はTest 1Test 2でコンソールに表示される唯一のものです。その行の後の何も実行されていないようです。私は基本的に、同じExpressアプリケーションをHTTPとHTTPSの両方で実行したいだけです。

以前は、server = app.listen(port);を使用してExpressサーバーを起動しました。

アイデア?

EDIT

ノードアプリがエラーなしで実行し続けますが、ちょうどそれらの最終console.log文が印刷されません。

var fs = require('fs'); 
var privateKey = fs.readFileSync('ssl/servertest.key', 'utf8'); 
var certificate = fs.readFileSync('ssl/servertest.crt', 'utf8'); 
var credentials = {key: privateKey, cert: certificate}; 

servertest.keyservertest.crt

注:私はそれらをオンラインにして一般公開することをお勧めします。ちょうどそれを使用して例えば。プロダクションに入る前に、私はSSLキーを再生成します。

+0

ノード内のすべてのコードが非同期で実行されるため、createServerにエラーがあると想定しています(クレデンシャルには何がありますか?) – Keith

+0

@Keith端末に何かエラーが記録されていません –

+0

Strange ,.あなたが行ったことの簡単なデモをノックすることができますか? – Keith

答えて

1

はい、秘密鍵はパスワードで保護されています。私はエラーを得ていた私のシステムで

Error: error:0906A068:PEM routines:PEM_do_header:bad password read 

ないあなたがなかった理由、多分それはノードのバージョンだと確信し。

ここでは、openSSLを使用してキーからパスワードを削除するか、パスフレーズオプションでオプションにパスワードを入力するかの2つのオプションがあります。

関連する問題