Как увеличить размер загружаемого файла в приложении 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этом ответе.,
Таким образом, ваш файл 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 передайте команды
- cd ...
- cd ... теперь используйте : sudo nano /etc/nginx/nginx.conf добавьте : client_max_body_size 20M; # это добавит 20мб размера к телу вашего запроса. Теперь перезагрузите ваш сервер NGINX используя nginx -s restart