Загрузка файла> 1 МБ на администраторе Django дает 400 неправильных ответов

У меня есть небольшой проект Django (1.2.x), развернутый на Apache (2.x) через mod_wsgi (3.x). В администраторе, если я загружаю файл размером менее 1 МБ, я могу получить его; однако для файла, скажем, размером 1,2 МБ, я получаю ответ 400 от сервера с " Ошибка 400" только в теле. Мне интересно, почему это происходит. Насколько я вижу, нет LimitRequestBody установить в конфигурации Apache. Я попытался загрузить с несколькими браузерами, включая: Firefox, Chrome и Safari.

В файле журнала для Apache, по-видимому, нет записи для запросов, которые дали 400 ошибок. Это странно.

Я должен отметить, что сценарий, в котором это происходит, таков: рассматриваемый проект разворачивается на двух идентичных серверах Apache (полностью идентичные установки), которые находятся за балансировщиком нагрузки. На моей разработке, конечно, проблема не всплывает.

Любая помощь с этим будет очень цениться.

ОБНОВЛЕНИЕ: я обнаружил, что следующее сообщение об ошибке зарегистрировано для балансировщика нагрузки: Bad request headers : Content-length exceeds post body limit, Другой интересный момент заключается в том, что, если файл> 1 МБ загружен по HTTPS, он проходит нормально. Однако, когда он загружен по HTTP, он выдает ошибку 400.

ОБНОВЛЕНИЕ № 2: Я решил написать простую программу загрузки файлов, используя просто Python и web.py. Я получил его для развертывания на рабочем сервере в тех же конфигурациях виртуального хоста, под mod_wsgi, Загрузка файлов работала, когда приложение обслуживалось по SSL. Но они дали Error 400 когда они обслуживались по не-SSL. Итак, я еще более озадачен, чем раньше.

1 ответ

Решение

Я собираюсь ответить на это сам, так как проблема была решена. Большое спасибо Andrew M. и Graham Dumpleton за их комментарии.

Проблема была, конечно, не с Джанго (как мы уже установили). Однако оказалось, что не с Apache. Проблема была с брандмауэром в системе, о котором системные администраторы полностью забыли (вздох). По-видимому, брандмауэр имел ограничение размера файла 1 МБ.

Другие вопросы по тегам