Маршрут Localhost не может загрузить статический файл

В настоящее время я создаю докеризованное веб-приложение.

Он состоит из следующих элементов :

  • React для фронтенда (с маршрутами, управляемыми react-router-dom)
  • Django для бэкенда
  • PostgreSQL для управления базой данных
  • Nginx для обратного прокси

Я создал обратный прокси для back-end и front-end.

Я создал маршрут с именем /element/:id (id - это параметр URL), который позволяет мне просматривать информацию об объекте, хранящемся в базе данных.

К сожалению, когда я пытаюсь загрузить страницу localhost/element/1, на ней ничего не отображается. В веб-консоли у меня есть ошибка, сообщающая мне Uncaught SyntaxError: Unexpected token '<' для файла http://localhost/element/static/js/file.js.

После проверки он загружает index.html файл.

Домашняя страница работает без проблем.

Вот мой файл конфигурации nginx :

server{
    include  /etc/nginx/mime.types;
    listen 80 default_server;
    
    error_log /var/log/nginx/app-error.log info;

    access_log /var/log/nginx/app.log main;

    location /admin/ {
        proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
        proxy_pass http://admin-backend/admin/;
    }

    location /api/v1/ {
        proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
        proxy_pass http://admin-backend/api/v1/;
    }

    location /static/ {
        alias /staticfiles/$1;
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location / {
        root /usr/share/nginx/html;
        try_files $uri $uri/ /index.html;
    }
}

Вот мой docker-compose.yaml файл:

services:
  frontend:
    build:
      context: ./
      dockerfile: ./Dockerfile
    ports:
      - "80:80"
    depends_on:
      - backend
    environment:
      - PUBLIC_URL=127.0.0.1
    volumes:
      - static:/staticfiles
    command: sh -c "cp -r /home/build/staticfiles/* /staticfiles ; nginx -g 'daemon off;'"

  db:
    image: postgres
    volumes:
      - postgres_data:/var/lib/postgresql/data
    env_file:
      - .env
    ports:
      - "5432:5432"

  backend:
    build: backend
    command: sh -c "make generate_static_auto ; make migrate ; make run"
    volumes:
      - static:/staticfiles/
      - ./backend:/backup
    ports:
      - "8000:8000"
    depends_on:
      - db
    env_file:
      - .env

volumes:
  postgres_data:
  static:

Внутренние страницы (например, страница admin) не загружаются нормально (без js и css файла) также на локалхосте. Есть ли у кого-нибудь ответ на мою проблему?

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