GeoTrust から 1 か月間無料の SSL 証明書を取得しています。証明書のテキストをメモ帳にコピーし、拡張子が pem の ansi エンコード ファイルとして保存しました。
また、秘密鍵を拡張子が pem の ansi として別のファイルに保存しました。
Nodejs にこれらのファイルを指定すると、次のエラーが表示されます: PEM routines:PEM_read_bio:no start
ノードコードは次のとおりです。
var https = require('https');
var fs = require('fs');
var options = {
cert: fs.readFileSync('geocrt.pem'),
key: fs.readFileSync('geokey.pem')
};
https.createServer(options, function (req, res) {
res.writeHead(200);
res.end("hello world\n");
}).listen(8000);
私の証明書は -----BEGIN CERTIFICATE----- で始まり -----END CERTIFICATE----- で終わります
私の鍵は -----BEGIN RSA PRIVATE KEY----- で始まり -----END RSA PRIVATE KEY----- で終わります
これはWindows上にあります。何が起こっているのかわかりません。助けてください!
更新: もう少し進んだと思います。証明書とキーのオプションが誤って逆になっていることに気付きました (顔の手のひら) が、ノード アプリを起動するとハングします。サーバーが起動したことをコンソールに記録することは決してありません。最終的に抜け出す必要がある空白行だけです。助けてください!
更新 2: app.js を実行すると、cURL はこのエラーを返します。
curl: (35) localhost:443 への接続で不明な SSL プロトコル エラーが発生しました