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

查看:274
本文介绍了express - 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不知道怎么设置证书链。
请教一下大家的是怎么做的

解决方案

看到有几个人关注这个问题,看来出现这个问题的人不在少数。主要是官方文档害的。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应用就不会再手机端打不开了

这篇关于express - NodeJS使用https,手机端无法识别SSL证书的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆