当前位置 : 主页 > 网页制作 > Nodejs >

创建要附加到Node.js中的HTTP和HTTPS Express服务器的对象

来源:互联网 收集:自由互联 发布时间:2021-06-16
好的,所以我有一个带有两个快速服务器的nod​​e.js应用程序.一个侦听端口80(HTTP),另一个侦听端口443(HTTPS). 现在,这些路线没有相同的路线.恰恰相反,大多数事情是通过HTTPS提供的,有些是
好的,所以我有一个带有两个快速服务器的nod​​e.js应用程序.一个侦听端口80(HTTP),另一个侦听端口443(HTTPS).

现在,这些路线没有相同的路线.恰恰相反,大多数事情是通过HTTPS提供的,有些是通过HTTP提供的.但是,有一些重叠.

所以,我想知道有没有办法将路由“绑定”到secureApp和App,因为我称之为我不需要两次写路由?

恩.现在我有两套相同的路由(一个用于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);

这可能吗?我会做更好的编码,我只管理所有端口上这个特定路由的一个实例.

你为什么重复自己?只是阻止无法使用的路线

function secureOnly(req, res, next) {
  if (!req.secure) {
    res.send(426, 'sorry')
  else {
    next()
  }
}

并听两个端口

http.createServer(app).listen(80)
https.createServer(app).listen(443)
网友评论