2013-08-20 3 views
0

Я хочу, чтобы запускать различные приложения на одном сервере, но маршрутизация между ними должна быть сделана с путями, а не с поддоменами.маршрутизация для различного node.js экспресс-приложений на одном сервере

Я читал о Надувной и соединять виртуальный хост межплатформенного, но они просто позволяют мне маршрут поддомены к различным портам.

Я хочу что-то вроде этого:

domain.com -> app1

domain.com/api -> app2, для того, что /api является / для app2

domain.com/some/path -> app3 для того, что /some/path является / для приложения 3

Позиция в дереве маршрутов должен быть прозрачным для приложений, и было бы неплохо, если бы я не перезапустил любое другое приложение при добавлении нового.

Должен ли я сам его кодировать или есть какое-то решение?

ответ

5

Предполагая, что каждое приложение работает в своем собственном процессе, вам по существу нужен обратный прокси.

http-proxy - ваш лучший выбор. Вы можете смешивать приложение Express и прокси («app1») и пересылать запросы для/api в app2 и/some/path к app3.

app2 и app3 могут работать в одном и том же поле или в разных коробках.


Если это все происходит в том же процессе, только userouter от App1 и app2 установлен на пути:

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

app1.use(app1.router); 
app1.use('/api', app2.router); 
app1.use('/some/path', app3.router); 
Смежные вопросы