即时生成子域名

我正在开发一个MEAN应用程序,为他们提供自己独特的子域名作为其注册过程的一部分。 我如何做到这一点?

对于我使用的云服务,我非常开放,Digital Ocean给我留下了深刻的印象,但同样也可以是AWS。 只要它是可扩展的。

那么,如果Bob和我们签约,你怎么能生成bobsmith.nicksamazingnewapp.com呢? 并让他能够马上使用它?

我认为最好的解决办法是有一个通配符的子域,所以任何* .nicksamazingnewapp.com会被抓住,然后服务器端,你可以决定它将指向哪里

 app.get('/', function(req, res) { var hostname = req.headers.host.split(":")[0]; if(hostname == "sub1.domain.com") res.send("this is sub1 response!"); else if(hostname == "sub2.domain.com") res.send("this is sub2 response!"); }); 

代码积分转到@Jazor

你也可以尝试一个模块https://www.npmjs.org/package/subdomain

虚拟主机是要走的路。 看看这个新的librabryexpression我前一天碰到。 您只是使用虚拟主机中间件。 https://github.com/expressjs/vhost

这里是他们的网站的代码示例

 // create main app var app = connect() // add vhost routing to main app for mail app.use(vhost('mail.example.com', mailapp)) // route static assets for "assets-*" subdomain to get // around max host connections limit on browsers app.use(vhost('assets-*.example.com', staticapp)) 

如果你使用的是mean.io,那么你需要在config / express.js文件中添加你的中间件