Запросить объект слишком большой

Я получаю это сообщение,

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.

  1. Сохраните .htaccess. Установите разрешения. (644 и владелец Apache)

  2. Возможно, перезапустите apache.

Тада. Надеюсь, исправлено.

Этот параметр устанавливает ограничение только для этой папки - это один из способов избежать глобальных настроек в php и apache, что позволяет вам открывать большие атаки на пакет/нагрузку DOS.

LimitRequestBody 0 дает вам неограниченные загрузки.