我想在我的NodeJS-app中同时提供HTTP和HTTPS。这是一个内部应用,一些访问者无法支持HTTPS。
这是一种简单的正确方法,还是应该是2个独立的NodeJS应用?
http.createServer(app).listen(80, function () {
console.log('My insecure site');
});
https.createServer(options, app).listen(443, function () {
console.log('My sdecure site');
});
答案 0 :(得分:1)
我不认为有更好的方法。您可以进行更多优化,因为HTTP和HTTPS服务器都做同样的事情。创建一个名为register
的函数,用于配置中间件和路由。然后只需为HTTP和HTTPS调用它。
var register = function (app) {
// config middleware
app.configure({
});
// config routes
app.get(...);
};
var http = express.createServer();
register(http);
http.listen(80);
var https = express.createServer();
register(https);
https.listen(443);