@bond_1013
Начинающий веб-разработчик

Как исправить 404 ошибку при перезагрузке страницы?

Есть сайт, бэкенд на 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:
  • Вопрос задан
  • 214 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы