Netty TCP 服务器 - 在创建通道之前拒绝 IP

Netty TCP Server - Reject IPs before channel is created

所以 - 我用 Netty 4 创建了一个 TCP 服务器。设置很简单,我使用 Netty 的编解码器来处理序列化。

我正在尝试根据 IP 地址进行过滤,它可以工作,但已创建通道并创建处理程序。如果它是过滤 IP,我不希望创建处理程序。

我在服务器中添加过滤器,这里 -

channelPipeline.addFirst(filter)

但是我的 ServerHandler 总是先被调用

channelPipeline.addLast(serverHandler)

日志:

Handler added - /127.0.0.1:58781 -- ServerHandler
2019-10-06 12:04:11.673 INFO - FILTER! - /127.0.0.1 -- Filter

我试图寻找例子,但我发现很难。我也尝试过将它添加到同一个 .addLast () 过滤器中,但没有任何乐趣。

TIA!

更新

感谢 Norman 的回答,也许我找错了地方。我们在 AWS 上的 ELB 有一个健康检查器,它每秒访问服务器 4 次,当真正的客户端连接时,它不会收到返回的消息。如果我禁用健康检查器 - 它会完美运行。

有什么办法解决这个问题?

您将需要使用 iptables 之类的东西在内核级别进行过滤。