Articles of 子域

使用Node.js Express托pipe多个网站

我在使用不同的域configuration两个不同的Node.js应用程序时遇到了问题。 有两个目录 "/abc/" -> express-admin setup (backend) -> admin.abc.com 和 "/xyz/" -> express setup (frontend) -> abc.com 我需要admin.abc.com指向expressionpipe理员设置和abc.com来expression设置。 我已经安装了vhost,并且该站点都监听端口80。 已添加 app.use(vhost('abc.com', app)); // xyz/app.js file app.use(vhost('admin.abc.com', app)); // abc/app.js file 我的问题: 永远安装,每当我启动这两个应用程序,第二个总是停下来。 我尝试使用不同的端口的两个应用程序,但仍然有相同的错误。 他们单独运行没有问题。 我认为我的设置对于域名转发来说太复杂了。 有更好的build议吗? 可能是我有一个主要的app.js文件,我可以用它来路由域到他们各自的应用程序,而不使用每个应用程序的app.js。

Node.js子域

我试图让我的Node.js供电站点运行在一个实例服务多个域。 我有我的主域名example.com ,然后我有admin.example.com和api.example.com ,这些都有不同的路线等, 我使用Express。 到目前为止,我已经为子域添加了两个Alogging,并且还在我的CentOS框中向/var/vhosts添加了两个条目。 127.0.0.1 api.example.com 127.0.0.1 admin.example.com 127.0.0.1 example.com 我知道Express有一个express.vhost方法,所以我已经试过了: app.use(express.vhost('api.example.com', require('./lib/subdomains/api'))) app.use(express.vhost('admin.example.com', require('./lib/subdomains/admin'))) 但是,这仍然只是我下面input的主要路线。 我错过了什么?

Heroku + node.js:我有一个使用多个端口的服务器。 我怎样才能让Heroku分配它们?

呃我会尽量做得更清楚.. 在我用node.js编写的应用程序服务器中,我有多个端口的内部代理: 在我的8080端口,我有我的restapi 。 在我的3000端口我有我的推服务器和聊天 。 我使用npm软件包的子域路由器进行内部路由到端口,公开了代理端口的“前端”中的子域。 代码演示: ( <some-app>显然不是<some-app>的真名) require('subdomain-router') ({ host: '<some-app>.herokuapp.com', subdomains: { '': 8080, // <some-app>.herokuapp.com <=> ::8080 –WORKS– 'api': 8080, // api.<some-app>.herokuapp.com <=> ::8080 'chat': 3000, // chat.<some-app>.herokuapp.com <=> ::3000 'push': 3000 // push.<some-app>.herokuapp.com <=> ::3000 } }).listen(process.env.PORT || 5000); 尽pipe我无法通过<some-app>.herokuapp.com:8080访问它,但只能通过<some-app>.herokuapp.com访问它,并让内部的subdomain-router模块达到这个效果。 另外,我无法访问子域名。 当试图访问api.<some-app>.herokuapp.com我从heroku得到No such app错误页面。 TL;访问<some-app>.herokuapp.com DR (redirect到我的API的/v1path),但无法访问<some-app>.herokuapp.com:8080 , <some-app>.herokuapp.com:3000或chat.<some-app>.herokuapp.com […]

Express中跨子域的会话

我使用Express with Node中的vhostfunction来pipe理我的应用程序的多个子域。 该应用程序使用相同的会话密钥和密钥,我相信我已经使用了正确的会话cookie设置: cookie: { path : '/', domain : '.example.com', httpOnly : false, maxAge : 1000*60*60*24*30*12 //one year(ish) } 我在常规站点设置了一个会话variables,其中子域是未定义的,例如http://example.com,如下所示: req.session.rep_id = rep._id; res.redirect('https://' + company.name + '.example.com/'); 但是当我将它们redirect到subdomain.example.com时,会话没有将rep_id键设置为任何值。 似乎会话正在重置子域之间。 我如何解决这个问题?

如何为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,迭代等等。