为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用Apache实施速率限制?(每秒请求数)

如何使用Apache实施速率限制?(每秒请求数)

哪些技术和/或模块可用于在Apache中实施可靠的速率限制(请求|字节/ ip /单位时间)?
查看完整描述

3 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

最好的


mod_evasive(更多地关注减少DoS暴露)

mod_cband(“正常”带宽控制的最佳功能)

其余的


mod_limitipconn

mod_bw

mod_bwshare


查看完整回答
反对 回复 2019-10-15
?
月关宝盒

TA贡献1772条经验 获得超5个赞

如本博文所述,似乎可以使用mod_security来实现每秒的速率限制。


配置是这样的:


SecRuleEngine On


<LocationMatch "^/somepath">

  SecAction initcol:ip=%{REMOTE_ADDR},pass,nolog

  SecAction "phase:5,deprecatevar:ip.somepathcounter=1/1,pass,nolog"

  SecRule IP:SOMEPATHCOUNTER "@gt 60" "phase:2,pause:300,deny,status:509,setenv:RATELIMITED,skip:1,nolog"

  SecAction "phase:2,pass,setvar:ip.somepathcounter=+1,nolog"

  Header always set Retry-After "10" env=RATELIMITED

</LocationMatch>


ErrorDocument 509 "Rate Limit Exceeded"


查看完整回答
反对 回复 2019-10-15
  • 3 回答
  • 0 关注
  • 1102 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信