"use strict"; var sslServerCert = "server.crt"; var sslServerKey = "key.pem"; var fs = require('fs'); var http = require('http'); var https = require('https'); var listener = function(req, res) { res.writeHead(200); console.log(req.method, req.headers.host, req.url, req.socket.localPort); res.end('server down for testing\n'+ (new Date()).toString()); }; var https_options = { key: fs.readFileSync(sslServerKey, 'utf8'), cert: fs.readFileSync(sslServerCert, 'utf8'), }; var httpsServer = https.createServer(https_options, listener).listen(443); var tlsSessionStore = {}; if (1) { // for easy disabling httpsServer.on('newSession', function(id, data) { console.log('NEW HTTPS session - %s', id.toString('hex')); tlsSessionStore[id] = data; }); httpsServer.on('resumeSession', function(id, cb) { console.log('RESUME HTTPS session - %s', id.toString('hex')); cb(null, tlsSessionStore[id] || null); }); }