Запросить объект слишком большой
Я получаю это сообщение,
Request Entity Too Large
The requested resource
/index.php
does not allow request data with POST requests, or the amount of data provided in the request exceeds the capacity limit.
Я установил
php_value post_max_size 50M
php_value upload_max_filesize 50M
в .htaccess
, но не помог
Как преодолеть это?
Спасибо
Ответы
Ответ 1
После того, как вы закончите повышение PHP memory_limit
, post_max_size
и upload_max_filesize
, я бы как рекомендовать вам некоторые статьи, связанные с темой, возможно, один из них решает проблему.
Я нашел этот пост в Server Fault:
https://serverfault.com/questions/79741/php-apache-post-limit/79745#79745
-
sybreon предлагает дважды проверить Content-Length
и - citing - "убедиться, что вы напрямую подключаетесь к Apache, а не через прокси или обратный прокси. обратные прокси-серверы устанавливают ограничение максимального размера запроса как своего рода меру безопасности. Таким образом, вы можете проверить это, а также свои журналы Apache, чтобы гарантировать, что ничего больше не происходит".
-
sybreon также разместил эту ссылку: Проблемы с ошибкой Apache 413.
Следующее применимо только , если вы включили mod_ssl в Apache. (В противном случае этот параметр может привести к сбою сервера.)
Ссылаясь на статью:
"Я использовал сертификаты клиентов Apache SSL, которые имеют ограничение в 128 КБ, и если произойдет повторное согласование, больше POST не удастся.
У этой публикации Bugzilla были ключи - вы должны установить следующее как ПО УМОЛЧАНИЮ для вашего сервера SSL, а не только для каталога.
SSLVerifyClient require
В противном случае он вызывает переоценку какого-то рода и с ошибкой 413. "
-
В предыдущей статье также упоминалась директива LimitRequestBody.
Парень говорит здесь, что соответствующая настройка этой директивы разрешила его проблему..
Я надеюсь, что одна из этих настроек решит эту проблему!
Ответ 2
Единственное, что будет работать для меня, это настроить размер буфера SSL. Вы можете установить это с помощью...
<Directory /my/blah/blah>
...
# Set this to something big...
SSLRenegBufferSize 10486000
...
</Directory>
... и затем просто перезапустите Apache, чтобы изменения вступили в силу. (Найдено по адресу: http://forum.joomla.org/viewtopic.php?p=2085574)
Ответ 3
Мой сервер - Apache. Это был модуль mod_security, который предотвращал публикацию больших данных примерно 171 КБ.
Я сделал ниже конфигурации в mod_security.conf
SecRequestBodyNoFilesLimit 10486000
SecRequestBodyInMemoryLimit 10486000
Ответ 4
Если max_post_upload и max_file_upload в PHP установлены,
и есть параметр в файлах конфигурации Apache2.conf или ModSec LimitRequestBody, достаточно высокий
то возможно, будет работать файл .htaccess.
- Перейдите в каталог с загружаемым в него файлом php (файл или страница, в которой была ошибка).
2. Сделать или изменить .htaccess
3. Отредактируйте или создайте строку с помощью LimitRequestBody 20971520.
-
Сохраните .htaccess. Установите разрешения. (644 и владелец Apache)
-
Возможно, перезапустите apache.
Тада. Надеюсь, исправлено.
Этот параметр устанавливает ограничение только для этой папки - это один из способов избежать глобальных настроек в php и apache, что позволяет вам открывать большие атаки на пакет/нагрузку DOS.
LimitRequestBody 0 дает вам неограниченные загрузки.