在Android上使用Chrome并在端口443(https)上运行Nodejs(expressjs)时获取通知警告证书

时间:2015-04-03 11:21:13

标签: android node.js

我的Expressjs有问题 - 在Android的Chrome上使用Https的Nodejs。

  • 我的VPS同时运行Apache和Nodejs 第一次,我的团队为Apache设置ssl并且所有设备都运行正常 - 那时Nodejs运行端口3000.由于某种原因我使用apache的这个SSL用于nodejs服务器并关闭它用于apache(现在apache在端口上运行) 80)
  • 我使用此代码获取CA.它几乎适用于浏览器和IOS(Safari),但它无法在Android的Chrome上运行,现在它总是显示有关我的证书的警告消息,并阻止https(红线)在nodejs服务上运行,尽管用户可以去页面一般 这是我从apache获取CA的代码: 服务器端:



var app			= express(),
    options 	= {
       key : fs.readFileSync('/etc/apache2/ssl/thedragoncode.key').toString(),
       cert: fs.readFileSync('/etc/apache2/ssl/thedragoncode.crt').toString(),
       requestCert: true,
       rejectUnauthorized: false
    },
    https		= require('https').createServer(options, app);

    ...


     // This request use for mobile Android device
     app.get("/android/", function (req, res, next)
     {
        res.end("android development");
     });

     https.listen(443);




1 个答案:

答案 0 :(得分:1)

似乎没有人得到这个问题。我已经通过这种方式解决了这个问题:http://www.benjiegillam.com/2012/06/node-dot-js-ssl-certificate-chain/

你只需将coffe脚本转换为javascript,它对我来说很好。通过将CA链提取到数组