Posso creare un server Express in ascolto sia su HTTP che su HTTPS, con le stesse route e gli stessi middleware?Ascolta su HTTP e HTTPS per una singola app express
Attualmente lo faccio con Express su HTTP, con stunnel tunneling HTTPS per Express, ma preferisco una soluzione di nodo puro.
posso farlo con questo codice, ma con il metodo handle
che è contrassegnato come privato:
var express = require('express')
, https = require("https")
, fs = require('fs');
var app = express.createServer();
// init routes and middlewares
app.listen(80);
var privateKey = fs.readFileSync('privatekey.pem').toString();
var certificate = fs.readFileSync('certificate.pem').toString();
var options = {key: privateKey, cert: certificate};
https.createServer(options, function(req,res)
{
app.handle(req, res);
}).listen(443);
Risposto succintamente qui: http://stackoverflow.com/a/23894573/1882064 – arcseldon