node.js - nodejs - tls with node
¿Cómo configuro un certificado SSL para un servidor express.js? (2)
Consulte los documentos Express , así como los documentos de nodo para https.createServer (que es lo que Express recomienda usar):
var privateKey = fs.readFileSync( ''privatekey.pem'' );
var certificate = fs.readFileSync( ''certificate.pem'' );
https.createServer({
key: privateKey,
cert: certificate
}, app).listen(port);
Otras opciones para createServer están en: http://nodejs.org/api/tls.html#tls_tls_createserver_options_secureconnectionlistener
Antes, en una versión anterior de Express, podía hacer esto:
express.createServer({key:''keyFile'', cert:''certFile''});
Sin embargo, en las versiones más nuevas de Express esto ya no funciona:
var app = express();
¿Debo llamar a app.use()
para establecer los certs? ¿Si es así, cómo?
Logré que SSL funcionara con el siguiente código repetitivo:
var fs = require(''fs''),
http = require(''http''),
https = require(''https''),
express = require(''express'');
var port = 8000;
var options = {
key: fs.readFileSync(''./ssl/privatekey.pem''),
cert: fs.readFileSync(''./ssl/certificate.pem''),
};
var app = express();
var server = https.createServer(options, app).listen(port, function(){
console.log("Express server listening on port " + port);
});
app.get(''/'', function (req, res) {
res.writeHead(200);
res.end("hello world/n");
});