it-swarm-ru.tech

Что вызывает ошибку SVN 413 слишком сложный запрос?

Иногда я получаю сообщение об ошибке «413 Request Entity Too Large» при обновлении хранилища SVN. Как только я получаю эту ошибку, она продолжается каждый раз, когда я пытаюсь обновить локальную рабочую копию. Новая касса решит проблему, но очень неудобна. Проект занимает более 30 ГБ, а хранилище SVN размещается снаружи.

Это происходило в прошлом на нескольких разных компьютерах, включая машины для разработки Windows и наш сервер сборки Linux.

Большая часть того, что я нашел относительно этой проблемы, касается больших отдельных файлов (более 2 ГБ). Это не тот случай, так как самые большие файлы ок. 50-60 МБ.

Кто-нибудь еще сталкивался с этим раньше и/или знает причину/решение этой проблемы?

55
Josh

Попробуйте добавить следующие директивы конфигурации в ваш файл конфигурации Apache:

LimitXMLRequestBody 8000000
LimitRequestBody 0
51
Ivan Zhakov

У меня нет доступа к моему серверу репо (управляемому IT, и это в выходные дни). Итак, я обнаружил, что могу обойти эту проблему, выполнив обновление svn для подкаталогов, пока оно не сработает…. Затем я спустился в этот каталог, пока не перестал получать ошибку 413. Тогда я мог бы сделать обновление на более высоких уровнях . Может работать не для всех, но может помочь справиться в чрезвычайной ситуации

35
mdh

Сделал короткий bash-скрипт для циклического обхода подкаталогов, согласно ответу mdh:

for dir in *; do
    [[ -e $dir ]] || continue
    echo "Updating $dir"
    svn up $dir
done
svn up
4
lucrussell

У меня недавно была эта проблема с любым файлом размером более 10 МБ. Оказывается, я забыл, что прокси-сервер svn/Apache с nginx. Изменение client_max_body_size в nginx.conf устранило проблему. Я оставил LimitXMLRequestBody и LimitRequestBody на сервере Apache по умолчанию.

3
Matt Hovey

Кроме того, если вы запускаете mod_security, попробуйте проверить настройку SecRequestBodyLimit. Мой был установлен слишком низко и вызывал проблему. 

1
tnorth

Смотрите также: RequestReadTimeout, который ограничивает время чтения заголовков и тела http://httpd.Apache.org/docs/2.2/mod/mod_reqtimeout.html

0
jreznot