我尝试将express
与node.js https
服务器结合使用,但我在连接时收到警告。
我的代码是:
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});
如何修复此警告(以及身份未验证问题)?
谢谢!
答案 0 :(得分:4)
这是您的浏览器发出的警告。当您实施解决方案时,购买证书并与您的域名相关联(确切地说 - 通配符或根证书)并且警告将消失,并且一个美丽的锁定将向世界展示您的网站的安全性。 : - )
答案 1 :(得分:1)
您需要从证书颁发机构购买SSL证书。谷歌搜索将揭示许多供应商的价格显着。如果您只是开发而且它不是生产网站,您可以找到free certs或very cheap certs。这么多证书价格昂贵(> 200美元)的原因是供应商提供保险单,保证证书的安全性。虽然如果您的证书遭到入侵并且您要求公司提出保险索赔,但证明证书本身是由于错误而非常困难且非常不可能。