Требуется ли 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
файлах
Локально все работает нормально, база данных успешно запрашивается и возвращает нужную информацию
К сожалению, когда я отправляю свои изменения на Heroku, данные больше не отображаются. Я использую следующие пакеты сборки:
heroku/node.js
https://github.com/heroku/heroku-buildpack-static
heroku/python
Когда я запускаю heroku run psql <heroku_app>
, я могу запросить базу данных приложения и увидеть соответствующие записи в таблицах. Кроме того, когда я вручную ввожу конечные точки API на версии, размещенной на Heroku, они работают, как и предполагалось.
Мои журналы Heroku также показывают, что запрос проходит нормально.
Вывод консоли браузера
Мой вопрос в том, есть ли способ реализовать поведение прокси, которое работает во время разработки, на собранной версии сайта, или мне нужно использовать что-то вроде nginx?
Мне кажется, что это связано с Heroku, поскольку запуск gatsby build
и gatsby serve
работает и локально.