【问题标题】:node.js, trying to route sub-domain to specific directorynode.js,试图将子域路由到特定目录
【发布时间】:2015-06-25 17:11:16
【问题描述】:

我目前正在使用bouncy 将特定的子域路由到运行在不同端口上的节点项目,就像这样

var bouncy = require('bouncy');

var server = bouncy(function (req, res, bounce) {
    switch(req.headers.host){
        case "first.domain.com" : bounce(3000); break;
        case "second.domain.com" : bounce(3001); break;
    }
});
server.listen(80);

这很好,但我也希望能够将特定的子域解析为特定的目录,像这样

        case "third.domain.com" : bounce(3001+"/folder"); break;

显然这不起作用,但理论上这就是我想要做的。我一直在看http-proxy,但我似乎也无法弄清楚如何以这种方式使用它。

我是 node 新手(通常会推出“服务器”)据我所知,我可以使用 ngnix 来完成此任务,但我希望通过在 node 服务器代码中解决此问题来保持简单。

【问题讨论】:

  • 将子域解析为目录是什么意思?
  • @Patosai 本质上我希望有人在浏览器中输入third.domain.com,我希望他们看到如果他们转到second.domain.com/folder 时出现的相同页面(但我不希望它重定向,我希望他们地址栏中的 URL 保持“third.domain.com”,但内容来自 second.domain.com/folder)

标签: node.js server reverse-proxy http-proxy


【解决方案1】:

试试

case "third.domain.com" : bounce(3001, { path: '/folder' }); break;

【讨论】:

  • 刚刚尝试过,起初它重新路由到“third.domain.com/folder”,显示“second.domain.com/folder”中的内容,所以它有点工作(除了不需要的一面将 /folder 添加到third.domain.com 的效果)...但是当我再次尝试时,它只是不断向我显示来自端口3001 的根(即来自second.domain.com 的内容):( ...可能有弹性是问题吗?有没有办法通过更好的支持节点模块(如 http-proxy)来做到这一点?
  • nginx 会让重写变得非常容易。
猜你喜欢
  • 1970-01-01
  • 2019-12-23
  • 2017-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
  • 2014-08-03
相关资源
最近更新 更多