http-proxy-middleware не проксирует страницу индекса другого сервера? - PullRequest
0 голосов
/ 16 февраля 2019

У меня есть два сервера, работающих на Docker.Одним из них является интерфейс реакции на localhost:3000, в то время как сервер работает на localhost:9000.Когда я перехожу к localhost: 3000 / api, я хочу попасть на страницу индекса бэкэнда, которая является localhost:9000.

. Создан файл setupProxy.js в папке myApp, созданный с помощью create-реагировать-app:

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

module.exports = function(app) {
  app.use(proxy('/api', { target: 'http://backend:9000' }));
};

Когда я перехожу на localhost:3000/api, меня отправляют на localhost:9000/api вместо localhost:9000.

1 Ответ

0 голосов
/ 16 февраля 2019

http-proxy-middleware имеет опцию pathRewrite, см. Документацию .

В вашем конкретном случае:

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

module.exports = function(app) {
  app.use(proxy('/api', {
    target: 'http://backend:9000',
    pathRewrite: {'^/api' : ''}
  }));
};

обычно это следует переписать localhost:3000/api/endpointна localhost:9000/endpoint.

Обратите внимание, что есть также опция router для более индивидуального поведения.

...