Есть сайт, бэкенд на django, frontend на React, настроил для них отдельно докер файлы, и общий docker-compose, запустил, всё работает, но при перезагрузке страниц сайта появляется 404 ошибка, если просто переходить с главной или других, то всё нормально. Также неправильно работает подгрузка static и media файлов django, подскажите пожалуйста каким образом можно исправить?
nginx
upstream api{
server backend:8000;
}
upstream admin{
server backend:8000;
}
server{
listen 8080;
location / {
root /var/www/react;
}
location ~ ^/api {
proxy_pass http://api;
proxy_set_header Host $http_host;
}
location ~ ^/admin {
proxy_pass http://admin;
proxy_set_header Host $http_host;
}
location /django_static/ {
root /var/www/garagedoors;
}
location /django_media/ {
root /var/www/garagedoors;
}
}
Dockerfile for react
FROM node:14.17
WORKDIR /react
COPY . .
RUN npm rebuild node-sass
RUN npm run build
Dockerfile for Django
FROM python:3.8
ENV PYTHONUNBUFFERED 1
WORKDIR /django
COPY src/requirements.txt requirements.txt
RUN pip3 install -r requirements.txt
COPY /src .
docker-compose
version: '3'
services:
backend:
build:
context: ./django
command: gunicorn app.wsgi --bind 0.0.0.0:8000
ports:
- "8000:8000"
frontend:
build:
context: ./react/gdr
volumes:
- react_build:/react/build
nginx:
image: nginx:latest
ports:
- 80:8080
volumes:
- ./nginx/nginx-setup.conf:/etc/nginx/conf.d/default.conf:ro
- react_build:/var/www/react
depends_on:
- backend
- frontend
volumes:
react_build: