Ошибка при добавлении изображения в db с помощью панели django в production. Использование docker, nginx и gunicorn
Я сделал страницу на django, которая дает возможность пользователю получить доступ к админ-панели django для добавления изображения на страницу. Изображение подтягивается в базу данных с помощью моделей django.
class Images(models.Model):
left_arrow= models.ImageField(upload_to="general/arrow/")
right_arrow= models.ImageField(upload_to="general/arrow/")
open_complete= models.ImageField(upload_to="general/complete/")
close_complete= models.ImageField(upload_to="general/complete/")
untick= models.ImageField(upload_to="general/tick/")
tick= models.ImageField(upload_to="general/tick/")
Это прекрасно работало в разработке, потому что у меня была эта команда в файле urls:
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
В производстве мне пришлось удалить эти строки. Медиафайлы, которые уже были в базе данных, прекрасно отображаются, статические и медиафайлы работают отлично. Но когда пользователь пытается добавить изображение из админ-панели django, возникает ошибка.
502 Плохой шлюз nginx
Разбираясь в проблеме, я просмотрел журналы nginx и обнаружил следующее:
2024/09/17 19:27:27 [error] code: *36 upstream prematurely closed connection while reading response header from upstream, client: "IP",server: carranzafebre.com, request: "POST /admin/home/images/add/ HTTP/1.1", upstream: "http://127.0.0.1:8000/admin/home/images/add/", host: "carranzafebre.com", referrer: "https://carranzafebre.com/admin/home/images/add/"
Я уже поменял огромное количество вещей, но ничего не происходит с этой ошибкой. Пожалуйста, мне нужна помощь. Я использую базу данных по умолчанию в django, которая является sqlite3.
Я пытался изменить client_max_body_size на 100m, но ничего не происходит. Я попытался изменить некоторые инструкции прокси. Я пытался изменить количество рабочих на 3. И многое другое.