你有没有过这种情况?半夜突然收到朋友消息,说你网站崩了,进去一看,后台显示某接口的访问量1小时内破10万,服务器内存直接干满。前阵子我帮邻居弄他的海鲜小店网站,就是因为没人管接口限流,被人恶意刷下单接口,花了大半天挤掉垃圾请求才恢复。
就像你家小区门禁,每户人家的门禁卡,1分钟内只能刷1次门。网站的接口也是,每个IP的访问请求,1分钟内最多给你发几次,超过就不让进,避免资源被抢光。
第一个坑,有人暴力刷登录接口,一天试几万次密码,把你服务器的CPU、内存全占了,真用户根本打不开网站;第二个坑,做活动被同行刷福利,你本来放100份优惠券,结果被人刷光,用户骂你耍人,你还不知道咋回事。
这些方法都是我亲测过的,小白也能直接操作,不会出问题。
这是我最推荐的,因为不用额外装软件,不会有兼容问题,步骤超简单:
避坑提醒:burst是允许的突发请求数,nodelay是超过就直接拒绝,一般设5-10次就够,别设成100,不然你自己刷个测试接口也被拒。

要是你怕改配置文件搞坏,就用自带的规则功能,不用碰代码:
这个方法适合刚用宝塔的新手,但要注意,要是你的网站绑定了多个域名,这个规则要覆盖所有域名,不然部分域名的接口不会生效。
比如登录、支付接口,这些是黑客重点攻击的对象,要单独设更严的规则,步骤:
很多人配置完就不管了,结果要么没生效,要么误杀了自己用户,这两步一定要做:
找个不是你自己电脑的IP,比如用手机流量,用curl命令刷6次接口: ``` curl http://你的域名/api/ ```
刷到第6次的时候,要是返回429错误(就是Too Many Requests),说明生效了;要是还能返回数据,就再回头看配置,是不是哪里漏了。
宝塔左侧点「日志」,找「访问日志」,搜429错误,看看是不是真有恶意IP在刷,要是没有,就可以把限流数调宽一点,别误杀自己的正常用户,比如把5改成10,就不会轻易拦到正常请求了。
别嫌麻烦,这个配置真的能帮你省很多事,尤其是做活动的时候,或者网站流量突然涨的时候。现在就打开宝塔,找你自己的网站,先试试第一种方法,10分钟就能搞定,不会的地方你可以再查宝塔的帮助文档,或者找我问细节。易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图