Ответов: 8 Просмотров: 0
|
Gori
Не совсем понятно откуда должен вызываться данный скрипт?
Если при запросе любой страницы, то можно отсекать без использования средств apache.
Да и частое перезапись и большой файл .htaccess будет постоянно нагружать дисковую подсистему, что наоборот загрузит сервер, может даже более, чем при обычной отдаче контента.
(Добавление)
Для nginx уже есть нужный функционал контроля количества одновременных соединений. Не совсем то, что Вы задумали, но тоже иногда полезно.
Для защиты Web-сервера от перегрузки и попыток осуществить DoS-атаку добавьте в конфиг следующие строки:
# vi /etc/nginx/nginx.conf
CODE:# Описываем зону (slimits), в которой будут храниться состояния сессий. Зона размером 1 Мб может хранить около 32000 состояний, мы устанавливаем ее размер равным 5 Мб
limit_zone slimits $binary_remote_addr 5m;
# Задаем максимальное количество одновременных соединений для одной сессии. По сути, это число задает максимальное количество соединений с одного IP
limit_conn slimits 5;
Первая директива должна находиться в секции HTTP, вторая – в секции location. Когда количество соединений выйдет за пределы лимитов, клиент получит сообщение "Service unavailable" с кодом 503. |