如何为Node.js应用程序设置本地子域

我正在node.js上运行一个快速的应用程序。 该应用程序使用express-subdomain模块来帮助处理两个不同子域(sub1.example.com和sub2.example.com)的路由。 我在AWS Elastic Beanstalk上托pipe应用程序。 在我的生产环境中,一切都很好。 但在我的本地机器上,我无法得到这个工作。 我试图将子域添加到我的主机文件127.0.0.1 localhost sub1.localhost sub2.localhost 。 虽然这允许我将一个子域添加到本地主机,但模块不会将其识别为有效的子域,从而在我的根路由中search子域路由。

在main.js中:

 var routes = require('./routes/index')(passport); var sub1_routes = require('./routes/sub1')(passport); var sub2_routes = require('./routes/sub2')(passport); app.use(subdomain('sub1', sub1_routes)); app.use(subdomain('sub2', sub1_routes)); app.use('/', routes); 

我需要能够在本地处理。 需要很长时间才能把一个小的改变推到AWStesting,迭代等等。

我是该模块的作者:)

对于您希望在本地testing的每个新子域,您必须添加到您的/ etc / hosts文件中。 举个例子:

本地主机是:

 127.0.0.1 localhost 

一个新的子域名将是..

 127.0.0.1 sub1.localhost 

另一个..

 127.0.0.1 sub2.localhost 

看看我在testing中做了什么。

我有同样的确切问题,我find了一个简单的解决scheme。 而不是编写sub1.localhost尝试用sub1.localhostreplacelocalhost ,这是一个总是parsing为本地主机的域,现在每当你写sub1.lvh.me即使像sub1.lvh.me:3000这样的端口仍然可以工作。