простой прокси-сервис в nodejs - PullRequest
0 голосов
/ 29 января 2019

Как подсказывает заголовок, я пытаюсь создать простой прокси-сервис в nodejs.

const express = require('express');
const proxy = require('http-proxy-middleware');

const app = express();

const auth = proxy({
  target: 'http://localhost:4200',
  ws: true
});

const game = proxy({
  target: 'http://localhost:4201',
  ws: true
});

app.use('/', auth);

app.use('/game', game);

app.listen(80, () => {
  console.log('Proxy listening on port 80');
});

Однако только маршрут auth правильно отображается на / game вообще не работает, и мне интересно, почему именно?

Правильно ли этот подход или есть другие способы достижения ожидаемого отображения маршрута?

1 Ответ

0 голосов
/ 29 января 2019

Попробуйте, все работает нормально: перезапись пути используется для удаления части / game.Если вы не будете использовать переписывание пути, тогда оно будет равно http://localhost:4201/game (с базовым путем).

    const express = require('express');
    const proxy = require('http-proxy-middleware');

    const app = express();

    const auth = proxy({
      target: 'http://localhost:4200',
      ws: true
    });

    const game = proxy({
      target: 'http://localhost:4201',
      pathRewrite: {
        '^/game': '' // remove base path
      },
      ws: true
    });
    app.use('/game', game);
    app.use('/', auth); // route '/' should be in last

    app.listen(8080, () => {
      console.log('Proxy listening on port 80');
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...