Ошибка Apache 500 при загрузке больших файлов (mod_security)

Насколько я попробовал, ни одно из обычных решений для меня не работает. Ну, моя проблема, я получаю 500 Ошибка каждый раз, когда я загружаю «большой файл» (600 КБ ~), с меньшими изображениями он работает нормально. Итак … даже с этим (крайним) файлом .htaccess это происходит, и да, .htaccess активен:

upload_max_filesize = 100M
post_max_size = 100M
memory_limit = 128M
max_input_time = 6000
max_execution_time = 6000

Итак, я смотрю на логи и нахожу это (это всего лишь одна строка, просто вставил ее так, чтобы ее было легко читать с помощью скачков строки):

[Mon Jul 27 17:09:28.<port> 2015] [:error] [pid 21423] [client <ip>]
ModSecurity: Access denied with code 44 (phase 2).
Match of "eq 0" against "MULTIPART_UNMATCHED_BOUNDARY" required.
[file "/etc/httpd/conf.d/mod_security.conf"]
[line "35"] [id "<another id>"]
[msg "Multipart parser detected a possible unmatched boundary."]
[hostname "<my host>"] [uri "<my script>"] [unique_id "<id (useless I think)"]

Но теперь я не могу найти, как отредактировать конфигурацию mod_security (она имеет конфигурацию по умолчанию и пустые activ_rules) для того, чтобы разрешить загрузку этого «большого» файла. Я использую PHP 5.3 в Apache 2.4 / CentOS 7.

Благодарю.

2

Решение

Тот факт, что у вас есть ModSecurity alert означает, что у вас не может быть пустой папки activ_rules или вы включаете правила другим способом.

По умолчанию ModSecurity разрешает загрузку только 512 КБ (см. Вот ) но вы можете легко увеличить это до 1 Гб, что может решить вашу проблему, добавив следующий конфиг

SecResponseBodyLimit 1048576

Или же просто отключите это правило (я предполагаю, что это правило 960915 срабатывает, если вы используете основной набор правил OWASP):

SecRuleRemoveById 960915
4

Другие решения

попробуйте проверить параметр FcgidBusyTimeout в конфигурации fcgi

0

Переименуйте файл, который вы пытаетесь загрузить. Эта ошибка означает, что имя файла содержит символ, запрещенный mod_security. Переименуйте файл и попробуйте загрузить его снова. Отключив упомянутую строку в mod_security.conf, он с радостью пропустит эту проверку, но это сделает ваш сервер открытым для уязвимостей.

-1

все что я нашел РЕШЕНИЕ !!!

UBUNTU 16.04 + Apache (МОЙ mod_secure РАБОТА И ЗАГРУЗКА ОК)

0. apache a2enmod заголовки (активировать заголовки и .htaccess)

1. ПРОВЕРЬТЕ .htaccess !!!!!

// в .htaccess

php_value upload_max_filesize 50M

php_value post_max_size 50M

// если вы хотите custom в .htaccess

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
  1. https://www.maketecheasier.com/securing-apache-ubuntu/ инструкция для команд

sudo nano /etc/apache2/mods-enabled/security2.conf — последние 2 строки я комментирую

sudo nano /etc/modsecurity/modsecurity.conf — Конфигурация mod_secure проста

sudo nano /etc/apache2/apache2.conf — конфигурация apache CTRL + W

//вкл выкл

bash->a2dismod mod-security2 //off

или же

bash->a2dismod security2 //off


bash->a2enmod mod-security2 //on
bash->a2enmod security2 //on
  1. Если вы хотите, вы можете удалить определенные правила:

http://www.inmotionhosting.com/support/website/modsecurity/find-and-disable-specific-modsecurity-rules

SecRuleRemoveById 950004 в modsecurity.conf

4. Байтовый преобразователь — http://whatsabyte.com/P1/byteconverter.htm

ЭТО ХОРОШО !!!!

4 часа !!

-1
По вопросам рекламы [email protected]