Search code examples
node.jsexpressssl-certificate

How do I setup a SSL certificate for an express.js server?


Before, in an older version of express, I could do this:

express.createServer({key:'keyFile', cert:'certFile'});

However, in newer versions of express this no longer works:

var app = express();

Should I call app.use() to set the certs? If so how?


Solution

  • See the Express docs as well as the Node docs for https.createServer (which is what express recommends to use):

    var privateKey = fs.readFileSync( 'privatekey.pem' );
    var certificate = fs.readFileSync( 'certificate.pem' );
    
    https.createServer({
        key: privateKey,
        cert: certificate
    }, app).listen(port);
    

    Other options for createServer are at: http://nodejs.org/api/tls.html#tls_tls_createserver_options_secureconnectionlistener