Apache - 限制来自外部 IP 的最大同时连接数?

1 apache-2.2

我想为可以从单个外部 IP 地址建立到 Apache 的连接数设置最大限制。

实现这一目标的最佳方法是什么?

谢谢

wom*_*ble 6

我相信这mod_qos可能会成为你祈祷的答案。我无法提供任何具体的配置或建议,因为我从未真正使用过它,但它带有您可能需要的所有旋钮。

更一般地说,iptables它本身就能够处理这类事情,而且它是一个更好的解决方案(在网络级别做网络工作)。如果您想处理其他协议以及 HTTP,或者只想将限制应用于连接的子集,则尤其如此。

iptables你想要的命令是这样的

iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --name http --update --seconds 1 --hitcount 5 -j REJECT
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --name http --set
Run Code Online (Sandbox Code Playgroud)

这会将传入连接限制为每秒 5 个。

但是请注意,对于碰巧是该站点的重度用户的合法用户来说,连接限制可能是一个真正的痛苦,并且它只会减慢实际上并不关心的攻击者的速度。谨慎使用。