Модуль Apache mod_limitipconn.c - это модуль, позволяющий администраторам веб-сервера ограничивать количество одновременных загрузок, разрешенных с одного IP-адреса.
Чтобы установить ограничение IP-адресов на сервере с помощью mod_security.
Установка модуля Apache mod_limitipconn
Сборка из исходников
Сначала проверьте версию apache на сервере.
1 | httpd -v |
Перейдите по указанному ниже пути
1 | cd /usr/local/src/ |
Скачайте mod_limitpconn по ссылке ниже. У меня версия apache 2.4.55. Загрузите файл в соответствии с вашей версией apache.
1 | wget http://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2 |
Разархивируйте файл
1 | tar -xvf mod_limitipconn-0.24.tar.bz2 |
Перейдите в эту папку
1 | cd mod_limitipconn-0.24 |
Скомпилируйте его с помощью apache
1 2 | make make install |
Установка в CentOS
Установите epel-release
1 | yum install epel-release |
после чего, установите в виде пакета
1 | dnf install mod_limitipconn |
Настройка Apache mod_limitipconn
проверьте синтаксис apache и перезапустите службу apache, если все в порядке
1 | httpd -t |
1 | systemctl restart httpd |
Добавьте следующие строки в httpd.conf
1 | nano /usr/local/apache/conf/httpd.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | # Эта команда необходима всегда ExtendedStatus On # Необходима только если модуль скомпилирован как DSO LoadModule limitipconn_module lib/apache/mod_limitipconn.so <IfModule mod_limitipconn.c> # Устанавливает общесерверный лимит в 10 одновременных загрузок на IP, # независимо ни от чего. MaxConnPerIP 10 <Расположение /somewhere> # Этот раздел влияет на все файлы в разделе http://your.server/somewhere. MaxConnPerIP 3 # Исключение изображений из лимита подключений часто является хорошей # идея, если ваша веб-страница содержит много встроенных изображений, поскольку такие # страницы часто генерируют шквал одновременных запросов изображений. NoIPLimit image/* </Location> <Каталог /home/*/public_html> # Этот раздел влияет на все файлы в каталоге /home/*/public_html MaxConnPerIP 1 # В этом случае все типы MIME, кроме audio/mpeg и video* # освобождаются от проверки лимита OnlyIPLimit audio/mpeg video </Directory> </IfModule> |
Проверьте синтаксис, если все в порядке, перезапустите apache.
1 2 3 | httpd -t systemctl restart httpd systemctl status httpd |
Убедитесь, что домены работают на сервере.
Этот модуль не будет работать, если не загружен mod_status и не установлена директива "ExtendedStatus On".
Так же, возможно установить ограничение с помощью файла .htaccess, добавив следующие настройки
1 2 3 | <IfModule mod_limitipconn.c> MaxConnPerIP 3 </IfModule> |