Я использую 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».