【问题标题】:Routing to different node.js express-apps on one server路由到一台服务器上的不同 node.js express-apps
【发布时间】:2013-08-20 18:27:52
【问题描述】:

我想在一台服务器上运行不同的应用程序,但它们之间的路由应该使用路径而不是子域

我了解了 bouncyconnect vhost 中间件,但它们只允许我将子域路由到不同的端口。

我想要这样的东西:

domain.com -> app1

domain.com/api -> app2,以便 /api 是 app2 的 /

domain.com/some/path -> app3,以便 /some/path 是 app3 的 /

路由树中的位置应该对应用程序透明,如果我在添加新应用程序时不必重新启动任何其他应用程序,那就太好了。

我必须自己编写代码还是有一些解决方案?

【问题讨论】:

    标签: node.js express connect


    【解决方案1】:

    假设每个应用都在自己的进程中运行,那么您基本上需要一个反向代理。

    http-proxy 是您最好的选择。您可以混合使用 Express 应用和代理(“app1”),并将 /api 的请求转发给 app2,将 /some/path 的请求转发给 app3。

    app2 和 app3 可以在同一个盒子或不同盒子上运行。


    如果这一切都发生在同一个进程中,只需将 app1 和 app2 中的 userouter 安装到路径:

    var app1=express(), app2=express(), app3=express();
    
    app1.use(app1.router);
    app1.use('/api', app2.router);
    app1.use('/some/path', app3.router);
    

    【讨论】:

      猜你喜欢
      • 2017-04-29
      • 1970-01-01
      • 1970-01-01
      • 2018-10-10
      • 1970-01-01
      • 2021-11-20
      • 2012-04-07
      • 2015-05-27
      • 1970-01-01
      相关资源
      最近更新 更多