使用GoDaddy的SSL证书设置节点https服务器

时间:2016-10-19 09:59:26

标签: javascript node.js ssl https

之前我使用自签名证书并使用

在节点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一起使用

1 个答案:

答案 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等在线扫描程序检查您的网站,以确保您的网站不会显示任何与证书相关的错误。修复那里报告的任何其他错误配置也很好。