域特定路由-Nodejs



我正在构建我的第一个大型/复杂nodejs(express(应用程序。它的特别之处在于,我想在不同的域上提供该应用程序。但根据领域的不同,它应该显示略有不同的内容和样式。假设我有这三个域:

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();
});

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

您的实现正是我所建议的。使用主机标头符合Host标头的预期用途:https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.23

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

最新更新