ExpressJS Over HTTPS

JS
S
JavaScript

Basic configuration for ExpressJS to server over HTTPS, loading a key and a certificate.

1//File:  bin/www
2
3#!/usr/bin/env nodemon
4const app = require('../app');
5const debug = require('debug')('web-server:server');
6const https = require('https');
7const nanit = require('nanit');
8const fs = require('fs');
9
10// Express Network Config
11// -----------------------------
12let server;
13const port = normalizePort(process.env.PORT || '3232');
14app.set('port', port);
15
16function normalizePort(val) {
17  var port = parseInt(val, 10);
18
19  if (isNaN(port)) {
20    // named pipe
21    return val;
22  }
23
24  if (port >= 0) {
25    // port number
26    return port;
27  }
28
29  return false;
30}
31
32
33// Initialization Middleware (via Nanit)
34// -----------------------------
35nanit.initialize((err) =>{
36  if(err) { throw err; }
37  server = https.createServer({
38    key: fs.readFileSync('key.pem'),
39    cert: fs.readFileSync('cert.pem')    
40  },app).listen(port);
41  server.on('error', onError);
42  server.on('listening', () => onListening(server));
43});

Created on 9/13/2017