之前我使用自签名证书并使用
在节点js上创建了https服务器var privateKey = fs.readFileSync( 'key.pem' );
var certificate = fs.readFileSync( 'cert.pem' );
var app = express();
https.createServer({
key: privateKey,
cert: certificate,
passphrase:'abc123'
}, app).listen(1111);
我现在已经购买并验证了GoDaddy的SSL证书。我已经从GoDaddy下载了SSL证书并获得了2个文件:
1)d752ec439hdwudbdh7.crt:
----- BEGIN CERTIFICATE -----
........
----- END CERTIFICATE -----
2)GD-束-G2-g1.crt:
----- BEGIN CERTIFICATE -----
........
----- END CERTIFICATE -----
----- BEGIN CERTIFICATE -----
........
----- END CERTIFICATE -----
----- BEGIN CERTIFICATE -----
........
----- END CERTIFICATE -----
这些文件是什么以及如何配置这些文件以与https.createServer一起使用
答案 0 :(得分:2)
d752ec439hdwudbdh7.crt
是GoDaddy生成的您网站的证书。它对应于您的cert.pem
文件。由于GoDaddy提供的文件格式实际上是PEM(以----BEGIN
文本开头的base64编码数据),您可以原样使用它,而无需转换格式。
gd-bundle-g2-g1.crt
是用于验证信任的证书集(一个或多个中间证书,可选地,根证书)。这个证书链是浏览器和其他用户代理用来确定证书是否由GoDaddy授予的,以及GoDaddy是否是他们信任的人。您需要使用ca
中的https.createServer
选项并指定此文件的路径。同样,文件格式是node / express所期望的,你可以将它重命名为合理的东西并像这样使用它:
var privateKey = fs.readFileSync( 'key.pem' );
var certificate = fs.readFileSync( 'cert.pem' );
var caBundle = fs.readFileSync( 'ca.pem' );
var app = express();
https.createServer({
key: privateKey,
cert: certificate,
ca: caBundle,
passphrase:'abc123'
}, app).listen(1111);
完成后,我建议您使用SSL Labs Server test等在线扫描程序检查您的网站,以确保您的网站不会显示任何与证书相关的错误。修复那里报告的任何其他错误配置也很好。