Нетти душит Принять на босс - PullRequest
0 голосов
/ 19 марта 2012

Во время DoS-атаки наблюдается, что поток босса принял намного больше соединений, чем сервер может обработать (особенно завершение рукопожатия ssl на принятых сокетах сильно отставало). Мы хотели бы ограничить и не принимать больше подключений при нарушении определенного порога. В NIO мы могли временно отключить с помощью флага ~ OP_ACCEPT. Есть ли в Netty что-нибудь, что позволило бы нам сделать то же самое? Что было бы рекомендуемым способом приостановить поток босса от принятия большего количества соединений. Было бы хорошим решением уложить сон в ветку босса или есть лучший выход?

-Harshad.

1 Ответ

2 голосов
/ 26 марта 2012

В настоящее время единственный способ добиться такого поведения - выполнить операцию блокировки в обработчике вашего сервера.Вы можете указать обработчик сервера, вызвав ServerBootstrap.setParentHandler(...)'. However, you should be aware that blocking the accept () `операция, которая полностью предотвратит подключение невинных клиентов.Я все равно предпочитаю принять соединение и закрыть плохое как можно скорее.

...