之前,我使用了一个自签名证书,并使用以下方法在节点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) d752ec439 hdwudbdh7.crt:
-开始证书
.
2)gd-bundle-g2-g1.crt:
-开始证书
.
-开始证书
.
-开始证书
.
这些文件是什么,以及如何配置这些文件以用于https.createServer
发布于 2016-10-19 11:38:02
d752ec439hdwudbdh7.crt是由GoDaddy生成的站点证书。它对应于您的cert.pem文件。由于GoDaddy提供的文件格式实际上是PEM (以----BEGIN文本开头的base64编码数据),您可以按原样使用它,而不必转换格式。
gd-bundle-g2-g1.crt是一组用于验证信任的证书(一个或多个中间证书和可选的根证书)。这个证书链是浏览器和其他用户代理用来确定证书是否由GoDaddy授予,以及GoDaddy是否是他们信任的人。您需要在ca中使用https.createServer选项,并指定该文件的路径。同样,文件格式是节点/表达式所期望的格式,您只需将其重命名为合理的文件格式,并按如下方式使用:
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实验室服务器测试这样的在线扫描仪检查您的站点,以确保您的站点没有显示任何与证书相关的错误。如果报告的任何其他错误配置都能得到修复,那也是很好的。
https://stackoverflow.com/questions/40128060
复制相似问题