我已经在服务器上安装了nodejs和ssl
和我的app.js代码
var sslOptions = { key: fs.readFileSync('/etc/ssl/private/private.key'), cert: fs.readFileSync('/etc/ssl/certs/cert.com.crt'), requestCert: true, ca: fs.readFileSync('/etc/ssl/certs/ca.crt'), rejectUnauthorized: false }; var secureServer = https.createServer(sslOptions,app).listen(443, function(){ console.log("Express server listening on port "); });
现在当我检查
https://www.sslshopper.com/
它给我错误
并非所有Web浏览器都信任该证书。您可能需要安装中间/链证书以将其链接到受信任的根证书。了解有关此错误的更多信息。您可以通过遵循针对服务器平台的Comodo证书安装说明来解决此问题(将这些说明用于InstantSSL)。注意有关中级证书的部分。
任何想法 ?
如何解决这个问题
注释掉添加ca bundle的行。复制ca.crt中的所有文本并将其粘贴到cert.com.crt中(不要替换以前的证书,只需将其粘贴在下面)。现在应该可以正常工作了。
var sslOptions = { key: fs.readFileSync('/etc/ssl/private/private.key'), cert: fs.readFileSync('/etc/ssl/certs/cert.com.crt'), requestCert: true, //ca: fs.readFileSync('/etc/ssl/certs/ca.crt'), rejectUnauthorized: false }; var secureServer = https.createServer(sslOptions,app).listen(443, function(){ console.log("Express server listening on port "); });