好的,所以我有一个包含两个express服务器的node.js应用程序。一个监听端口80(HTTP),另一个监听端口443(HTTPS)。创建对象以附加到Node.js中的HTTP和HTTPS Express服务器
现在,这些不具备所有相同的路线。恰恰相反,大多数东西都通过HTTPS通过HTTP进行传递。但是,有一些重叠。
所以,我想知道是否有一种方法来'绑定'路由到secureApp和应用程序,因为我称他们,使我不必写两次路线?
ex。现在我有两套相同的路线(一个用于HTTP,另一个用于HTTPS):
app.get('/tweet-stats.json', function(req, res){
res.set('Content-Type', 'application/json');
res.send(publicTweetStatus());
});
secureApp.get('/tweet-stats.json', function(req, res){
res.set('Content-Type', 'application/json');
res.send(publicTweetStatus());
});
我愿做这样的事情:
model.get('/tweet-stats.json', function(req, res){
res.set('Content-Type', 'application/json');
res.send(publicTweetStatus());
});
app.handle.bind(model);
secureApp.handle.bind(model);
这可能吗?我会做出更好的编码,我只在所有端口上管理此特定路由的一个实例。
我真正好奇,你为什么不提供一切通过HTTPS? – 2013-05-10 03:18:26
表现。只有某些东西是真正的私人数据。这需要HTTPS,其他一切都是公开的,我将通过HTTP或HTTPS(用户选择)提供服务。一些用户喜欢HTTPS,并使用浏览器插件,如[HTTP Everywhere](https://www.eff.org/https-everywhere)。我永远不会降级HTTPS请求,但我会要求私密的额外安全性。 – 2013-05-10 04:00:59