Пытаюсь развернуть приложение React на героку. API приложения работает локально, но при развертывании на heroku API не работает - PullRequest
0 голосов
/ 01 октября 2019

Я использую Node + Express для моего сервера. Сначала я попытался использовать «proxy»: http://localhost:3001 в package.json реагирующего клиента, но это вызвало сообщение Invalid Host Header , когда я пытался открыть свой сайт на heroku.

Я следовал этим инструкциям , которые затем привели меня к использованию http-proxy-middleware, где я нахожусь.

Это мой setupProxy.js, который находится в / src в моем приложении.

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

module.exports = function(app) {
  app.use('/api/*', proxy({
    target: 'https://safe-crag-59591.herokuapp.com',
    changeOrigin: true,
    logLevel: 'debug',
    router: {
      'localhost:3000': 'http://localhost:3001'
    }
  }));
};

Когда я размещаю его на heroku, интерфейс работает нормально. Но когда я пытаюсь сделать любой вызов API, я получаю сообщения об ошибках HTTP 400. Заголовки запросов выглядят нормально (например, / 1014 *https://safe -crag-59591.herokuapp.com / api / getAllProduct ), но когда я пытаюсь использовать любой из маршрутов в Почтальоне, я сталкиваюсь с тем жеошибка.

Вот пример ошибки в логах heroku:

at=info method=GET path="/api/getAllProduct" host=safe-crag-59591.herokuapp.com request_id=e1455e5b-91fc-418b-a379-98af1012f3d7 fwd="72.207.123.175, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72, 54.146.242.72,54.146.242.72" dyno=web.1 connect=2ms service=4213ms status=400 bytes=2757 protocol=https

Я новичок в этом, поэтому я уверен, что что-то мне не хватает, но я чувствую, что явсе перепробовал.

РЕДАКТИРОВАТЬ: я забыл добавить, когда сервер запущен, и он устанавливает прокси, он отображает это сообщение в консоли: [HPM] Proxy created: / -> https://safe-crag-59591.herokuapp.com, когда я думаю, что это должно быть на основе моего setupProxy. js [HPM] Proxy created: /api -> https://safe-crag-59591.herokuapp.com Но опять же, это все еще довольно ново для меня. Другие способы, которыми я пытался настроить мой setupProxy.js, когда прокси-сервер настраивал консоль, отображали «/api».

...