我想设置从单个外部 IP 地址到 Apache 的连接数的最大限制。
实现这一目标的最佳方法是什么?
谢谢
答案1
我相信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
这会将传入连接数限制为每秒 5 个。
但请注意,连接限制对于恰好是网站重度用户的合法用户来说可能非常麻烦,并且它只会减慢实际上并不令人担忧的攻击者的速度。请谨慎使用。