Tuning FreeBSD 7.2 amd64 for high load nginx web server.
Михаил Монашёв
postmaster на softsearch.ru
Вс Дек 27 14:04:45 MSK 2009
Здравствуйте, Антон.
>> listen 83.222.4.74:80 default
>> accept_filter=httpready rcvbuf=4096 sndbuf=131072;
AY> Как сдесь уже неоднократно обсуждалось accept_filter довольно
AY> спорная вещь при наличии nginx. С одной стороны коннекция в ядре
AY> дешевле коннекции в ядре. С другой стороны коннекцией nginx легче
AY> управлять (обрывать по таймуту).
AY> Соединения, которые не прошли accept_filter могут висеть долго,
AY> возможно вечно.
AY> Т. е. если есть accept_filter то DDoS-ер можно подключаться и
AY> слать запрос по одному байту в 10 минут. В итоге его коннекция
AY> будет очень долго висеть на сервере и кушать его ресурсы (т. е.
AY> атакующий может просто открыть kern.ipc.maxsockets коннекция и
AY> расходуя мало трафика их поддерживать открытыми).
AY> Если accept_filter нет, то nginx просто закроет такое соединение
AY> когда истечет таймаут client_header_timeout (который в условиях
AY> DoS можно сделать небольшим).
Максим Дунин некоторое время назад высказывал подобные опасения, но
они вроде не оправдались.
--
С уважением,
Михаил Монашёв, SoftSearch.ru
mailto:postmaster at softsearch.ru
ICQ# 166233339
http://michael.mindmix.ru/
Без бэкапа по жизни.
Подробная информация о списке рассылки nginx-ru