413 Запрашиваемая сущность слишком большая загрузка файлов с помощью Django Admin и Nginx Configuration - PullRequest
0 голосов
/ 06 июня 2018

Всякий раз, когда я загружаю небольшой файл, например, изображение, данные успешно сохраняются.Однако, когда я загружаю аудиофайл, я получаю эту ошибку: 413 Request Entity Too Large.Размер файла составляет около 8 МБ.Запутанная часть заключается в том, что загрузка этих файлов в процессе разработки легко, но теперь, когда веб-сайт работает, он не работает.Я читал, что вы можете изменить предел размера загрузки, но не могу понять это.Еще одна вещь, которую я прочитал: у вас должны быть файлы, загруженные на сервер, и вы можете использовать Nginx.Я думаю, что настроил это;Я набрал команду

scp -r * root@[my ip address] /usr/share/nginx/html

, и файлы из моей папки мультимедиа были загружены туда.Теперь, когда файлы не помещаются туда автоматически, они отправляются в папку мультимедиа проекта.Разве он не должен автоматически загружаться на сервер Nginx?enter image description here enter image description hereenter image description here

1 Ответ

0 голосов
/ 17 мая 2019

По умолчанию nginx настроен на максимальный размер тела клиента 1 МБ.Размер загружаемых файлов (~ 8 МБ) превышает 1 МБ, поэтому возвращается ошибка 413 (запрос слишком большой).

Чтобы устранить эту проблему, просто отредактируйте nginx.conf и добавьте конфигурацию client_max_body_size следующим образом:

    ######################
    # HTTP server
    ######################
    server {
        ...
        listen       80;
        server_name  xxxx.com;
        client_max_body_size 20M;
        ...
    }

Если у вас также настроен HTTPS, обязательно добавьте туда также client_max_body_size:

    ######################
    # HTTPS server
    ######################
    server {
        ...
        listen       443 default_server ssl;
        server_name  xxxx.com;
        client_max_body_size 20M;
        ...
    }

reloadваш сервер, и вы должны быть хорошими!

[сервер] $ sudo service nginx reload


Подробнее о client_max_body_size здесь: http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size

Синтаксис: размер client_max_body_size;

По умолчанию: client_max_body_size 1m;

Контекст: http, сервер, местоположение

Устанавливает максимально допустимый размер клиентского запросатело, указанное в поле заголовка запроса «Content-Length».Если размер в запросе превышает сконфигурированное значение, клиенту возвращается ошибка 413 (Request Entity Too Large).Помните, что браузеры не могут правильно отображать эту ошибку.Установка размера 0 отключает проверку размера тела клиентского запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...