Node.js HTTPS无法正常工作

时间:2014-10-02 11:19:32

标签: node.js https

我尝试使用Node.js创建HTTPS服务器。我已经按照网上的一些说明进行操作,最后得到了这段代码:

var https = require('https');
var fs = require('fs');

var options = {
  key: fs.readFileSync('D:\\NodeJs\\HTTPS\\keys\\pvtkey.pem', 'utf8'),
  cert: fs.readFileSync('D:\\NodeJs\\HTTPS\\keys\\cert.pem', 'utf8'),
  requestCert: false,
  rejectUnauthorized: false
};

https.createServer(options, function (req, res) {

  if (req.client.authorized) {
        res.writeHead(200, {"Content-Type": "application/json"});
        res.end('{"status":"approved"}');
    } else {
        res.writeHead(401, {"Content-Type": "application/json"});
        res.end('{"status":"denied"}');
    }

}).listen(443);

console.log('start listing');

尝试从Chrome访问时,出现以下错误:

  

SSL连接错误无法与服务器建立安全连接。   这可能是服务器的问题,或者可能需要客户端   您没有的身份验证证书。错误代码:   ERR_SSL_PROTOCOL_ERROR

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

问题是您的SSL证书是自签名的,或者没有可用的SSL证书。

要绕过SSL证书测试,您可以添加以下行:

process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';