Nginx как разместить и react, и django

у меня есть react frontend, импортированный внутрь django backend. связь между ними осуществляется через django-rest-framework. на стороне react, выборка осуществляется через относительные пути, поэтому в моем package.json я добавил строку:

"proxy": "http://127.0.0.1:8000",

django размещает react-app локально без проблем, когда я запускаю: python3 manage.py runserver.

на удаленном компьютере я пытаюсь использовать nginx с gunicorn для развертывания этого приложения на aws ubuntu instance и столкнулся с проблемой:

  • сначала я запускаю python3 manage.py collectstatic
  • .
  • потом я указываю nginx на этот static_files для index.html
  • успех! nginx обслуживает статические файлы react
  • используйте gunicorn myapp.wsgi -b 127.0.0.1:8000 для запуска django
  • проблема! nginx обслуживает файлы react не получает ничего. fetch не вызывает этот локальный путь, а вместо этого вызывает публичный ip экземпляра aws. также я не могу имитировать get/post запросы к бэкенду django, потому что я думаю, что nginx "покрывает" пути, сгенерированные gunicorn django.
  • .

пожалуйста, скажите как я могу подключить nginx-served react frontedn к gunicorn под управлением django

my nginx sites-enabled/example

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /home/ubuntu/fandigger/frontend/build/;
    server_name public_ip_without_port;

    location / {
        try_files $uri $uri/ =404;
    }
}

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