Я пытаюсь редактировать большие (200 КБ или около того) статьи в моей установке MediaWiki, но при этом возникает следующая ошибка:
Слишком большой объект запроса
Запрошенный ресурс
/path/to/my/wiki/index.php
не позволяет запрашивать данные с запросами POST, или объем данных, предоставленных в запросе, превышает предел емкости.
Согласно документам Apache, LimitRequestBody по умолчанию 0 (неограниченно). Я не думаю, что я рядом с MediaWiki лимит 2048КБ. Я не могу найти, где / если PHP меня ограничивает.
Что дает?
Обновить: В моих журналах ошибок Apache говорится:
request body exceeds maximum size for SSL buffer
И прямо под этим:
could not buffer message body to allow SSL renegotiation to proceed
Похоже, можно найти возможное решение Вот.
Но мне нужно перекомпилировать mod_ssl
. Похоже, что ближе к концу того отчета об ошибке они говорили о добавлении директивы для этого вместо перекомпиляции. Кто-нибудь знает, случилось ли это? Кроме того, мне просто нужно перекомпилировать mod_ssl
для этого исправления? И если да, как мне использовать мою скомпилированную версию вместо стандартной версии Ubuntu?
Почему бы вам дважды не проверить размер POST-запроса. Например, вы можете использовать netcat для прослушивания 8080.
netcat -l -p 8080
Затем перенаправьте свой браузер на использование прокси-сервера на порту 8080 непосредственно перед отправкой формы. У вас должно получиться что-то вроде этого:
POST http://example.com/path/to/my/wiki/index.php HTTP/1.1
Host: example.com
Proxy-Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 217
Самая важная линия - это Content-Length
и просто дважды проверьте фактическую длину содержимого. Это, по крайней мере, поможет вам определить, где дела идут не так. Вы, по крайней мере, будете иметь представление о реальном размере контента.
Затем убедитесь, что вы подключаетесь к Apache напрямую, а не через прокси или обратный прокси. Некоторые обратные прокси-серверы устанавливают ограничение на максимальный размер запроса в качестве меры безопасности. Итак, вы можете проверить это, а также свои журналы Apache, чтобы убедиться, что больше ничего не происходит.
У меня была такая же ошибка, и это была из-за безопасности мода, связанного с загрузкой файлов размером 500 МБ и меньше, чтобы исправить, я открыл конфигурацию.
sudo vi /etc/httpd/conf.d/mod_security.conf
Изменил это
SecRequestBodyLimit 131072
SecRequestBodyNoFilesLimit
SecRequestBodyInMemoryLimit
Кому:
SecRequestBodyLimit 524288000
SecRequestBodyNoFilesLimit 524288000
SecRequestBodyInMemoryLimit 524288000
У меня была ошибка «413 Request Entity Too Large».
https://stackoverflow.com/a/19447688/784542 решил мою проблему.