Nginx 413 Request Entity Too Large, Docker, Django

Я получаю ошибку

413 Слишком большой объект запроса

когда я пытаюсь загрузить любой файл размером более 1.5MB.

Я видел различные ответы по этому вопросу, но ничего не подходит к моей ситуации:

мой nginx default.conf:

upstream django {
    server store:27038;
}

server {

    listen 27036;

    location /static {
        alias /vol/static;
    }
    
    location / {
        proxy_pass http://django;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_set_header Host $host;
        proxy_redirect off;
    }
}

мой nginx Dockerfile:

FROM nginxinc/nginx-unprivileged:1-alpine


COPY ./default.conf /etc/nginx/conf.d/default.conf

USER root

RUN mkdir -p /vol/static
RUN chmod 777 /vol/static

USER nginx

Я продолжаю видеть ответы, в которых говорится, что просто добавление чего-то вроде

server {
    client_max_body_size 100M;
    ...
}

в Nginx должно решить проблему, но я продолжаю получать ошибку, когда пытаюсь поместить его в свой файл conf, поэтому я не совсем уверен, куда этот код должен пойти. Если у кого-нибудь есть ответ на этот вопрос, буду очень признателен

Как ни забавно, похоже, что в моем dockerfile была какая-то проблема с кэшированием, поэтому изменения не вступили в силу должным образом, что и стало причиной того, что решение не работает:

upstream django {
    server store:27038; 
}

server {

    client_max_body_size 100M;
    listen 27036;

    location /static {
        alias /vol/static;
    }
    
    location / {
        proxy_pass http://django;
        proxy_set_header X-Forwarded-For $
        proxy_set_header Host $host;
        proxy_redirect off;
    }
}

Это помогло мне. Просто добавьте client_max_body_size 100M и восстановите образ с нуля.

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