Apache не разрешает доступ к медиафайлам
Я пытаюсь настроить свой Apache так, чтобы он мог обслуживать медиафайлы, сохраненные в Django Backend.
Django уже работает в производственном режиме (DEBUG=False
) и у меня настроен SSL.
У меня есть один домен с обратным прокси, обслуживающий мой фронтенд, и поддомен (api.domain), обслуживающий мой Django бэкенд. Сейчас я пытаюсь обслуживать мои медиа файлы в backend/app/media/
из apache.
Мой ssl .conf файл поддомена в sites-available
содержит следующий код внутри <VirtualHost *:433>
:
Alias /media/ /home/backend/main/media/
<Directory /home/backend/main/media>
Options Indexes MultiViews
AllowOverride None
Require all granted
Order allow,deny
Allow from all
</Directory>
Я попробовал этот блок кода также внутри моего файла apache2.conf
, но это тоже не сработало. Также стоит упомянуть, что я не получаю стандартную ошибку Apache "Service Unavailable" при попытке получить доступ к файлам через браузер. Я получаю (только если запущен Django Server) сообщение Django production "Not Found".
Поэтому я предполагаю, что он обрабатывает мой запрос через Django, что вполне ожидаемо, поскольку я обращаюсь к api поддомену, обслуживающему Django. Как я могу получить доступ к моим файлам, обслуживаемым Apache? При попытке доступа к моему домену, я получаю перенаправление на мой frontend, а при попытке доступа через поддомен, я получаю перенаправление на Django.
Я немного запутался и любая помощь будет оценена по достоинству!
Ок, поэтому я исправил это, создав отдельный cdn
поддомен и вставив код из моего вопроса в его .conf файл. Теперь я могу обслуживать свои файлы через этот поддомен, и все работает