在DoS攻击期间,观察到boss线程已经接受了比服务器可以处理的更多连接(特别是在接受的套接字上的ssl握手完成远远落后)。当某个阈值被破坏时,我们想要限制并且不接受更多连接。在NIO中,我们可以通过~OP_ACCEPT标志暂时禁用。在Netty中有什么东西可以让我们这样做吗?什么是推荐的方法来暂停boss线程接受更多连接。在老板线程中睡一觉是否是一个很好的解决方案还是有更好的出路?
-Harshad。
答案 0 :(得分:2)
目前,实现此类行为的唯一方法是在服务器处理程序中执行阻止操作。您可以通过调用ServerBootstrap.setParentHandler(...)'. However, you should be aware that blocking the
accept()`来完全指定服务器处理程序,甚至可以防止无辜客户端连接。无论如何我更愿意接受连接,并尽快关闭坏连接。