NodeJS使用https,手机端无法识别SSL证书

代码如下:


var options = {
    key: fs.readFileSync('../ssl/private.key','utf8'),
    cert: fs.readFileSync('../ssl/certificate.crt','utf8')
};

http.createServer(app).listen(3000);
https.createServer(options, app).listen(3001);

在电脑端证书能正常识别,但是到了手机端证书就失效了,感觉是证书链的问题,但是NodeJs不知道怎么设置证书链。
请教一下大家的是怎么做的

阅读 6.7k
2 个回答

看到有几个人关注这个问题,看来出现这个问题的人不在少数。主要是官方文档害的。express官方文档就是这么写的。所以大家遇到这个问题就不知所措了。
其实问题很简单,证书链有问题。也就是说缺少CA。 于是加上ca的配置接好了
最后代码如下:


var options = {
    key: fs.readFileSync('../ssl/private.key','utf8'),
    cert: fs.readFileSync('../ssl/certificate.crt','utf8'),
    ca: fs.readFileSync('../ssl/ca_bundle.crt','utf8')
};

http.createServer(app).listen(3000);
https.createServer(options, app).listen(3001);

这样子我们的web应用就不会再手机端打不开了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题