我想在一台服务器上运行不同的应用程序,但它们之间的路由应该使用 * 路径 *,而不是 * 子域 *。
我读到了bouncy和connect vhost中间件,但它们只允许我将子域路由到不同的端口。
我想要这样的东西:domain.com
-> app1domain.com/api
-> app 2,以便对于app 2,/api
是/
domain.com/some/path
-> app 3,对于app 3,/some/path
是/
在路由树中的位置应该对应用程序透明,如果我在添加新应用程序时不必重新启动任何其他应用程序,那就太好了。
我必须自己编写代码,还是有解决方案?
1条答案
按热度按时间kx5bkwkv1#
假设每个应用程序都在自己的进程中运行,您基本上需要一个反向代理。
http-proxy是你最好的选择。您可以混合使用Express应用程序和代理("app1"),并将对/api的请求转发到app2,将对/some/path的请求转发到app3。
app2和app3可以在相同的盒子或不同的盒子上运行。
如果这些都发生在同一个进程中,只需
use
将app1和app2中的router
挂载到一个路径: