Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Борьба с нарушителям и одного коннекта.
Anton Kuznetsov пишет:
Добрый день!
Многие здесь, как и я, занимаются раздачей больших файлов, этому
занятию как правило сопутствует настройка limit_conn one 1; чтобы
диски совсем не порвало.
Следствие этой настройки - постоянная долбежка сервера паразитными
коннектами. Эдакая DDOS атака от настроенных по умолчанию в 5-10
конектов "Download Master" & etc... Сложно сказать о вреде, но если
смотеть в лог куда сливается 503 - то при моих нагузках становится
страшно. Лог наверно вообще надо отключить, но это отдельный вопрос. У
меня при 1к-1,5к полезных коннектов, 2к-3к - паразитных и это если еще
по башке стучать и заставлять читать правила настройки качалок. Вопрос
в том, как минимизировать вред от этого явления. Я до этого момента
честно занимался баном - 50 попаданий в лог-503 - правило в ipfw на
день-неделю и чувство жалости давно атрофировалось. Качают те, кто
умеют настраивать. Но... жалко по прежнему сервер, ему даже и так
плохо. Чистый эксперимент показал что включение pf без правил на
сервере при скорости 500 мегабит добавляют процессу "irq30: em0" (top
-S) сразу добрых 20%, а этот процесс у меня и без этого близок к 100%.
Сейчас я отключил ipfw & pf и пробую тихо игнорировать эту долбежку на
самом nginx - вопрос как это лучше делать? Сейчас у меня стоит
location = /503.html {limit_rate 1 ;} Но меня гложут смутные сомнения
- хорошо ли nginx-у каждую секунду думать о том как в 2к-3к соединений
отдать по байту?
Вторая напасть похоже некоторые качалки (помню такое было в reget) не
любят когда коннект отдает им слишком медленно и делают реконнект.
Может я не прав, но в логе основная масса строчек "HTTP/1.0 503 0" -
вроде как вообще не удалось ничего отдать, хотя время выполнения этих
запросов солидное - в среднем более 100 секунд.
Можно придумать что-то еще более легкое и эффективное или отключить
лог и забыть?
Аналогичная проблема, только у меня 503.html не отдается (использую
imit_conn one 1; c X-Accel-Redirect), и я уже устал отвечать на письма,
почему у кого-то там не качается, лог за сутки разрастается на 3 Гб,
тоже подумываю отключить его, сейчас ерор лог уже направил в /dev/null.
--
WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE
|