我不太熟悉SSL所以我想知道我错过了什么使vhost + expressjs以及ssl都连接起来。我的代码适用于virtualhost + expressjs但不适用于https。港口绝对是开放的。
var options = {
key: fs.readFileSync("ca.key"),
cert: fs.readFileSync("ca.crt")
}
var main = express();
if (!module.parent) main.use(logger('dev'));
main.get('/', function(req, res){
// DO SOMETHING
});
var app = module.exports = express();
app.use(vhost('myappblahbblah.com', main));
var server = https.createServer(options, app);
server.listen(443);
使用server.addContext(hostname, context)
,它显示在tls
模块中,而https.Server
继承自tls.Server
。
如果您不知道如何实际实现它,我写了一个非常小的包vhttps,为您完成了工作。查看其README.md
关于如何与vhost
和express
一起使用它。