【发布时间】:2016-09-20 15:38:09
【问题描述】:
我对如何在我的节点服务器上配置 SSL 感到非常困惑!
到目前为止我所做的是:
-在我的本地机器上创建一个自签名密钥和证书以进行本地测试
-将此代码添加到我的快速设置中
var privateKey = fs.readFileSync('privatekey.pem', 'utf8');
var certificate = fs.readFileSync('certificate.pem', 'utf8');
https.createServer({
key: privateKey,
cert: certificate
}, app).listen(port);
这在本地很好(我收到浏览器错误,但我知道这是因为我自签名并且我不是受信任的机构)。
现在我想使用真正的证书进行部署,所以我从 RapidSSL 购买了一个。他们在电子邮件中以明文形式向我发送了两个密钥,格式均为
-----BEGIN CERTIFICATE-----
blah
-----END CERTIFICATE-----
一个标记为Web server CERTIFICATE,另一个标记为INTERMEDIATE CA。
我将Web server CERTIFICATE 的内容复制到一个名为(为了这个问题)prodPrivatekey.pem 的新文件中,并将INTERMEDIATE CA 移动到prodCertificate.pem。然后我替换了上面代码中的路径。
首先,有人能告诉我这种做法是否正确吗?假设我对 SSL 证书的内部运作几乎一无所知!
其次,如果是,我在此设置中遇到的错误是Error: error:0906D06C:PEM routines:PEM_read_bio:no start line。我能找到的唯一帮助是这个问题Node.js https pem error: routines:PEM_read_bio:no start line,但这里的帮助似乎与自签名证书有关。
感谢您的帮助!
【问题讨论】: