Требуется ли nginx для развертывания gatsby front end рядом с django REST backend?

В настоящее время я пытаюсь развернуть бэкенд Django REST и фронтенд React/Gatsby на Heroku (используя шаги, описанные в этой статье), и у меня возникают некоторые проблемы с отправкой запросов с фронтенда на бэкенд.

ПОЛУЧИТЬ инструкцию

useEffect(() => {
  fetch('http://127.0.0.1:8000/ljwe/symbol/?freq=monthly&symbol_id=1')
  .then(res => res.json())
  .then(data => setOptions(data))
  .catch((err) => {console.error(err)})
  }, []);
  • CORS_ALLOW_ALL_ORIGINS = True в settings.py
  • "proxy": "http://localhost:8000" в обоих gatsby-config.js и package.json файлах

Локально все работает нормально, база данных успешно запрашивается и возвращает нужную информацию

enter image description here

К сожалению, когда я отправляю свои изменения на Heroku, данные больше не отображаются. Я использую следующие пакеты сборки:

  1. heroku/node.js
  2. https://github.com/heroku/heroku-buildpack-static
  3. heroku/python

enter image description here

Когда я запускаю heroku run psql <heroku_app>, я могу запросить базу данных приложения и увидеть соответствующие записи в таблицах. Кроме того, когда я вручную ввожу конечные точки API на версии, размещенной на Heroku, они работают, как и предполагалось.

enter image description here

Мои журналы Heroku также показывают, что запрос проходит нормально.

enter image description here

Вывод консоли браузера

enter image description here

Мой вопрос в том, есть ли способ реализовать поведение прокси, которое работает во время разработки, на собранной версии сайта, или мне нужно использовать что-то вроде nginx?

Мне кажется, что это связано с Heroku, поскольку запуск gatsby build и gatsby serve работает и локально.

Вернуться на верх