好的,所以我有一個包含兩個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