- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Попытались спарсить сайт и уронили vps :mad:
Какие методы борьбы порекомендуете?
Вот нашел для nginx:
Есть еще модули для апача, вроде limitipconn, но они, имхо, будут больше нагружать сервер, чем решение с nginx :confused:
---------- Добавлено 20.09.2012 в 17:12 ----------
вот такие еще варианты:
Для не слишком нагруженного Web-сайта хорошей идеей будет ограничить количество попыток соединений с одного IP-адреса в минуту. Это сможет уберечь тебя от некоторых типов DoS-атак и брутфорса. В Linux это можно сделать с помощью стандартного iptables/netfilter-модуля state:
# iptables -A INPUT -p tcp --dport 80 -i eth0 \
-m state --state NEW -m recent --set
# iptables -A INPUT -p tcp --dport 80 -i eth0 \
-m state --state NEW -m recent --update \
--seconds 60 --hitcount 15 -j DROP
Правила урезают лимит на количество подключений с одного IP в минуту до 15. То же можно сделать и с помощью pf:
# vi /etc/pf.conf
webserver_ip="1.1.1.1"
table <abuse> persist
block in quick from <abuse>
pass in on $ext_if proto tcp to $webserver_ip \
port www flags S/SA keep state \
(max-src-conn 100, max-src-conn-rate 15/60, \
overload <abusive_ips> flush)
Кроме лимита на количество последовательных подключений (15 в минуту), данное правило устанавливает дополнительный лимит на количество одновременных подключений равный 100.
И какие значения для ограничений порекомендуете? 15 в минуту - этого достаточно? Можно ли вычислить данное значение по логам сервера для данного конкретного сайта?
Попытались спарсить сайт и уронили vps 😡
Какие методы борьбы порекомендуете?
взять нормальный впс или перейти на хостинг который не падает от малейших нагрузок.
Я ставлю в конфигурации nginx
В блок
http {
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 10;
limit_req_zone $binary_remote_addr zone=lphp:10m rate=1r/s;
а в блок
location / {
который проксирует на апач
limit_req zone=lphp burst=10 nodelay;
limit_req – важно ставить только на блок проксирующий на бэкенд, что бы не было ограничений на запросы к статике, так как она запрашивается в десятки раз чаще, чем динамические страницы.
Потом смотрите в access.log и error.log в nginx.
Если видите, что пользователям отдается ошибка 503, то лимиты увеличиваете.
zexis
от парсинга сайта это не поможет, поможет от f5 и быстрых ботов.