0

1 つのサーバーでさまざまなアプリを実行したいのですが、それらの間のルーティングはサブドメインではなくパスで行う必要があります。

bouncyconnect vhost middlewareについて読みましたが、サブドメインを別のポートにルーティングすることしかできません。

私はこのようなものが欲しい:

domain.com-> app1

domain.com/api-> app2、それ/api/app2 用です

domain.com/some/path-> app3、それ/some/path/app3 用です

ルート ツリー内の位置はアプリに対して透過的である必要があり、新しいアプリを追加するときに他のアプリを再起動する必要がない場合は便利です。

自分でコーディングする必要がありますか、それとも解決策がありますか?

4

1 に答える 1

5

各アプリが独自のプロセスで実行されていると仮定すると、基本的にリバース プロキシが必要になります。

http-proxyが最善の策です。Express アプリとプロキシ (「app1」) を混在させて、/api の要求を app2 に、/some/path を app3 に転送できます。

app2 と app3 は、同じボックスまたは異なるボックスで実行できます。


これがすべて同じプロセスで発生している場合は、パスにマウントされた app1 と app2 だけuseですrouter

var app1=express(), app2=express(), app3=express();

app1.use(app1.router);
app1.use('/api', app2.router);
app1.use('/some/path', app3.router);
于 2013-08-20T19:17:37.887 に答える