如何修复Node.js HTTPS服务器" SSL错误"?

时间:2014-06-13 15:10:12

标签: javascript node.js ssl express https

我尝试将express与node.js https服务器结合使用,但我在连接时收到警告。

The site's security certificate is not trusted!


我的代码是:

var WebSocketServer = require('ws').Server
    , https = require('https')
    , fs = require('fs')
    , express = require('express')
    , app = express();

app.use(express.static(__dirname + '/public'));

var options = {
    rejectUnauthorized: false,
    requestCert: true,
    agent: false,
    key: fs.readFileSync('private/key.pem'),
    cert: fs.readFileSync('private/cert.pem')
};

var server = https.createServer(options, app);
server.listen(8888);

var MainServer = new WebSocketServer({server: server});

如何修复此警告(以及身份未验证问题)?

谢谢!

2 个答案:

答案 0 :(得分:4)

这是您的浏览器发出的警告。当您实施解决方案时,购买证书并与您的域名相关联(确切地说 - 通配符或根证书)并且警告将消失,并且一个美丽的锁定将向世界展示您的网站的安全性。 : - )

答案 1 :(得分:1)

您需要从证书颁发机构购买SSL证书。谷歌搜索将揭示许多供应商的价格显着。如果您只是开发而且它不是生产网站,您可以找到free certsvery cheap certs。这么多证书价格昂贵(> 200美元)的原因是供应商提供保险单,保证证书的安全性。虽然如果您的证书遭到入侵并且您要求公司提出保险索赔,但证明证书本身是由于错误而非常困难且非常不可能。