[Nginx][Django] Невозможно получить доступ к медиафайлам в продакшене через Nginx

Я пытаюсь получить доступ к медиафайлам с помощью Nginx.

Файл существует в каталоге: /usr/src/app/backend/media/profile/c4ebe33d-7da1-4a62-bb17-8da254d69b36, где часть profile/c4ebe33d-7da1-4a62-bb17-8da254d69b36 создается динамически.

Корень медиафайла находится: /usr/src/app/backend/media.

Я знаю, что файл существует, потому что я могу видеть его в контейнере.

Вот мой конфиг nginx:

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=STATIC:10m inactive=7d use_temp_path=off;


upstream backend {
  server backend:8000;
}

upstream frontend {
  server frontend:3000;
}

server {
  listen 80 default_server;

  server_name _;

  server_tokens off;

  gzip on;
  gzip_proxied any;
  gzip_comp_level 4;
  gzip_types text/css application/javascript image/svg+xml;

  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection 'upgrade';
  proxy_set_header Host $host;
  proxy_cache_bypass $http_upgrade;

  client_max_body_size 100M;

  location /_next/static {
    proxy_cache STATIC;
    proxy_pass http://frontend;
  }

  location /static {
    proxy_cache STATIC;
    proxy_ignore_headers Cache-Control;
    proxy_cache_valid 60m;
    proxy_pass http://frontend;
  }

  location /media/ {
    autoindex on;
    alias /usr/src/app/backend/media/;
  }

  location / {
    proxy_pass http://frontend;
  }

  location /api/ {
    proxy_pass http://backend;
    proxy_set_header Host $http_host;
  }
}

При попытке получить доступ к файлу я получаю 404. Вот ссылка на файл: http://localhost/media/profile/c4ebe33d-7da1-4a62-bb17-8da254d69b36/da258fe5-f57c-44d2-94cf-00bef250b86d.png

Я пытался изменить nginx, потому что я думаю, что это причина, но безуспешно.

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