使用Godaddy gd_bundle.crt运行SSL node.js服务器

我无法让我的SSL服务器与Godaddy的证书一起使用

使用Express:3.1.0

var http = require('https');    

var privateKey = fs.readFileSync('/var/www/dev/ssl/server.key').toString();

var certificate = fs.readFileSync('/var/www/dev/ssl/server.crt').toString();

var credentials = {key: privateKey, cert: certificate};

var https = http.createServer(credentials, app);

var http = require('https');

var privateKey = fs.readFileSync('/var/www/prod/ssl/mysite.key').toString();

var certificate = fs.readFileSync('/var/www/prod/ssl/mysite.com.crt').toString();

var ca = fs.readFileSync('/var/www/prod/ssl/gd_bundle.crt').toString();

var credentials = {key: privateKey, cert: certificate, ca: ca};

var https = http.createServer(credentials, app);

通过这种配置,我得到:错误107(net :: ERR_SSL_PROTOCOL_ERROR):SSL协议错误。

说实话我不是在创建他们的devops家伙要的密钥/证书…我不确定如果我错误地实现了Godaddy的密钥或者是否有办法确保他正确设置密钥/

crt文件,该如何解决....

有人公然看到明显错误的东西吗?

回答:

节点要求将CA链中的每个证书分别在数组中传递。 gd_bundle.crt可能看起来像这样:

-----BEGIN CERTIFICATE-----

MIIE3jCCA...

-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----

MIIEADCCA...

-----END CERTIFICATE-----

每个证书都需要放在自己的文件中(即gd1.crtgd2.crt)并分别读取。

https.createServer({

key: fs.readFileSync('mysite.key'),

certificate: fs.readFileSync('mysite.crt'),

ca: [fs.readFileSync('gd1.crt'), fs.readFileSync('gd2.crt')]

});

以上是 使用Godaddy gd_bundle.crt运行SSL node.js服务器 的全部内容, 来源链接: utcz.com/qa/402046.html

回到顶部