我正在使用NodeJS托pipeHTTPS Express服务器。 我的服务器configuration如下:
var options = { key: fs.readFileSync('domain_com.key'), cert: fs.readFileSync('domain_com-bundle.crt') } https.createServer(options, app).listen(8082, function() {...} );
我按照这个网站的说明连接了.crt和.ca-bundle文件。
更新:更新我的代码,但它仍然给出了相同的错误
var options = { key: fs.readFileSync('domain_com.key'), cert: fs.readFileSync('domain_com.crt'), ca: fs.readFileSync('domain_com.ca-bundle') } https.createServer(options, app).listen(8082, function() {...} );
有了这段代码,我没有按照上一个链接的指示,而是将每个文件分别包含到NodeJS的https模块中
现在,当我尝试在移动Android上使用Chrome 56访问我的网站时,出现了问题。 一切工作就像应用在桌面上的Chrome应该。
我运行了一个SSL分析器,这是返回: 破碎的证书链
简单的说,我可能试过每个key / cert / bundle组合都可能试图让它工作,但是chrome仍然给出了ERR_CERT_AUTHORITY_INVALID。
我不完全确定我在做什么,因为这是我第一次设置和SSL证书,所以只要告诉我,如果你需要任何其他信息。
对于我的具体情况,我使用Namecheap.com作为Comodo PositiveSSL证书的注册商。 为了解决我在安卓版Chrome 56上不能正常工作的问题,我将这个文件附加到Namecheap提供的.crt文件的末尾。