Yappa Опубликовано 8 апреля, 2012 · Жалоба Здравствуйте! Пользователи выходят в интернет через прокси (squid3). Возникла необходимость реализовать следующую схему доступа - каждому пользователю доступно в день определенное количество сессий ограниченных по времени (например 4 сеанса в день по 15 минут). Я сделал так: Написал простую систему на php которая которая после авторизации предлагает пользователю активировать сессию (если у него еще они остались), после активации адрес пользователя добавляется в список ipset'а с таймаутом на время сессии. Пользователи которые имеют активную запись получают доступ к порту прокси и спокойно работают, остальные просто редиректятся с порта сквида на 80 порт (где сидит апач со скриптами), где они могут активировать себе доступ. Работает вполне нормально, но возникла следующая проблема - сайты с большим количество аякса (особенно гугл сервисы -почта, ридер и так далее) при активной "блокировке" (редиректе) начинают просто спамить запросами (иногда по 10-15 в секунду) тем самым нехило нагружая апач и вполне могут поднять загрузку системы на 30-40% с одного пользователя на все время пока открыта вкладка (так как сама такая страница по понятным причинам не поддается редиректу), и когда таких набирается 5-10 сисема начинает просто задыхаться (прокси сидит на виртуалке с 1 ггц и 1гб оперативки, ос debian 6) Как можно победить данную проблемку? Может быть есть более простые способы реализовать подобную схему? Спасибо! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Alex/AT Опубликовано 8 апреля, 2012 · Жалоба mod_evasive на апач... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
^rage^ Опубликовано 8 апреля, 2012 · Жалоба выкинуть апач, поставить nginx + php-fpm. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Yappa Опубликовано 9 апреля, 2012 (изменено) · Жалоба mod_evasive на апач... Сейчас попробую, спасибо! Запросы кстати сыпятся вот такие примерно: 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-" 192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62" 192.168.50.208 - - [09/Apr/2012:09:41:01 +0400] "\x16\x03\x01" 200 1577 "-" "-" 192.168.50.208 - - [09/Apr/2012:09:41:01 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62" 192.168.50.208 - - [09/Apr/2012:09:41:01 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62" 192.168.50.208 - - [09/Apr/2012:09:41:01 +0400] "\x16\x03\x01" 200 1577 "-" "-" 192.168.50.208 - - [09/Apr/2012:09:41:01 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62" 192.168.50.208 - - [09/Apr/2012:09:41:01 +0400] "\x16\x03\x01" 200 1577 "-" "-" 192.168.50.208 - - [09/Apr/2012:09:41:01 +0400] "\x16\x03\x01" 200 1577 "-" "-" 192.168.50.208 - - [09/Apr/2012:09:41:01 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62" upd что наводит меня на мысль что скорее всего они ходят кругами сами себя редиректя или что-то вроде ) Щас разберемся, понедельник пятницы мудреннее ) Изменено 9 апреля, 2012 пользователем Yappa Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 9 апреля, 2012 · Жалоба Возникла необходимость реализовать следующую схему доступа - каждому пользователю доступно в день определенное количество сессий ограниченных по времени (например 4 сеанса в день по 15 минут). Мусье понимает толк в извращениях. Это школьный хотспот, что ли? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Yappa Опубликовано 10 апреля, 2012 · Жалоба Мусье понимает толк в извращениях. Это школьный хотспот, что ли? Неа, средних размеров отделение крупной конторы. Начальство так захотело... :) По теме - поставил mod_evasive, запретил CONNECT на апаче - все нормализовалось, теперь гуглосервисы сразу получают 403 и "успокаиваются". Спасибо за советы! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...