简体   繁体   中英

How to fix Node.js HTTPS Server “SSL Error”?

I'm trying to use express in conjunction with a node.js https server, but I'm getting a warning when I connect.

该站点的安全证书不受信任!


My code is:

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});

How do I fix this warning (and effectively the Identity not verified problem)?

Thanks!

That's a warning your browser gives. When you take the solution live, buy a certificate and associate with your domain(be exact - wildcard or root certificate) and the warning will go away, and a beatiful lock will come to show the world how safe your site is. :-)

You need to purchase a SSL certificate from a certificate authority. A google search will reveal many venders with prices ranging significantly. If you are simply developing and it is not a production website you can find free certs or very cheap certs . The reason so many certs are expensive ( > 200 USD) is that the venders offer an insurance policy which guarantees the security of the certificate. Although if your cert is compromised and you request an insurance claim from the company, proving that the cert itself was due to fault is incredibly difficult and highly unlikely.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM