油门bandwith API像Twitter一样

lookikng限制来自客户端的api请求的数量。 想知道是否有办法做到这一点与Apache或我必须写一些代码

我不会在apache中这样做..我会用iptables在networking层做这件事。

iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set

iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 86400 --hitcount 100 -j REJECT

将86400更改为您希望保留该块的秒数(86400为1天),100为命中计数,您准备为每个IP准许多less个。

您还可以将-j REJECT更改为-j DROP,它定义满足条件时的数据包行为。 DROP无缝丢弃数据包,REJECT返回“端口不可达”或类似的错误。

也就是说,有一个mod_throttle会做类似的事情,但我似乎无法find关于它的许多信息。 我觉得在networking/内核级别而不是在apache上做这种事情感觉更好。 Apache擅长处理请求。 让它做到最好,不要为了跟踪连接而加重负担。

(是的,我只是把我的答案复制到以前的问题..)