特定于域的路由-Node.js

时间:2020-08-27 19:28:45

标签: node.js express nginx

我正在构建我的第一个大型/复杂nodejs(快速)应用程序。它的特别之处在于我想在不同的域上提供该应用程序。但是根据域的不同,其内容和样式应略有不同。假设我拥有以下三个域:

carapp.com

truckapp.com

bikeapp.com

我使用nginx作为反向代理,它提供静态文件。现在,我需要帮助以找出向每个域添加唯一路由的最佳方法。我考虑过添加这样的中间件:

app.use(function(req, res, next){
   if(req.headers.host === 'carapp.com'){
      app.use(indexRoutes1);
   }
   if(req.headers.host === 'truckapp.com'){
      app.use(indexRoutes2);
   }
   if(req.headers.host === 'bikeapp.com'){
      app.use(indexRoutes3);
   }
   next();
});

但是我不知道这是否是正确的解决方法。希望有人能给我一些好的建议?

1 个答案:

答案 0 :(得分:0)

您的实现正是我所建议的。使用主机标头与Host标头的预期目的相匹配:enter image description here

如果Host标头丢失或与三个页面之一不匹配,例如,可能会考虑默认为三个页面之一。如果有人使用IP进行连接。