Как увеличить размер загружаемого файла в приложении Django, работающем на экземпляре EC2 с Nginx в качестве revese Proxy?

У меня есть приложение Django, которое работает на экземпляре EC2. Оно загружает файл до 100MB без проблем, но при размере файла более 100MB выдает ошибку 413 Request Entity Too Large.

Я пробовал в файле /etc/nginx/sites-available/default в конфигурации сервера.

client_max_body_size 10G;

Я также применил ту же конфигурацию в файлах конфигурации моего домена, но все в вену. Эта конфигурация хорошо работает на других моих серверах, где я запускаю php-приложения.

Примечание: Я использовал gunicorn с супервизором для запуска приложения Django.

@Helge спасибо, я применил параметры конфигурации в обоих случаях.

Теперь проблема решена. Проблема заключалась в том, что сначала вылетала ошибка из-за того, что параметр конфигурации был определен ниже других параметров, после решения этой проблемы Cloudflare начал вылетать с ошибкой 413. Поэтому мой руководитель команды внес изменения в конфигурацию для решения этой проблемы.

Как указано в client_max_body_sizeэтом ответе.,

должен быть определен и в http, и в https.

Таким образом, ваш файл nginx.conf в разделе /etc/nginx/sites-available/default будет выглядеть примерно так:

http {
    server {
        ...
        listen       80;
        server_name  xxxx.net;
        client_max_body_size 10G;
    }

    server {
        ...
        listen       443 default_server ssl;
        server_name  xxxx.net;
        client_max_body_size 10G;
    }
}

в 01__django.config добавьте файлы: "/etc/nginx/conf.d/proxy.conf" : mode: "000755" владелец: root группа: root содержимое: | client_max_body_size 20M; #использовать эти или зайдите под своим корнем через ssh передайте команды

  1. cd ...
  2. cd ... теперь используйте : sudo nano /etc/nginx/nginx.conf добавьте : client_max_body_size 20M; # это добавит 20мб размера к телу вашего запроса. Теперь перезагрузите ваш сервер NGINX используя nginx -s restart
Вернуться на верх