我正在尝试设置签名证书以在 nodejs 上设置 HTTPS 服务器。但是我在 chrome 中不断收到以下错误(在其他浏览器上也类似)。
"Error 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protocol error."
当我使用自签名证书运行相同的代码时,它工作正常。
然后我运行了 openssl verify,似乎证书没问题。
$ openssl verify -CAfile ./ca.crt server.crt
server.crt: OK
这就是我使用签名证书运行它的方式:
var privateKey = fs.readFileSync('sslcert/server.key').toString();
var certificate = fs.readFileSync('sslcert/server.crt').toString();
var ca = fs.readFileSync('sslcert/ca.crt').toString();
var credentials = {key: privateKey, cert: certificate, ca: ca};
//Start Server
https.createServer(credentials, app).listen(httpsPort, function () {
console.log("Listening on port " + httpsPort + ' (https)');
});