当前位置:论坛首页 > Linux面板 > Linux面板教程

【教程帖】流量限制 教程

发表在 Linux面板2024-12-13 09:42  关闭 [复制链接] 2 496

2024-12-13 12:00 更新了流量限制的功能。版本号为9.5.6 .如果没有此功能需要修复一下防火墙或者更新到最新版

微信截图_20241213120333.png


一、使用场景主要是为了给API限制流量
使用场景1:某个接口发现有其他人在利用。导致这个接口流量暴涨。那么可以限制这个接口一个小时内最多返回多少次
例如:/api/user/get_ip_info   这个接口存在其他人使用。那么可以限制这个接口一个小时内最多访问3600次。一秒一次。

QQ截图20241213120853.jpg

那么这样设置就可以限制这个接口最多一个小时访问3600次了。其余的多的请求则会返回503  。如果其他的状态码可以自己选择。


使用场景2:
获取文章的接口/api/system/get_data  这个返回答题卡的接口一直占用很高。被人利用来刷流量。
那么可以给这个接口加一个限制。例如:1秒钟最多返回5次。
QQ截图20241213121352.jpg





二、结合使用

可以给一个URL设置 限制一秒内最多5次。并且一小时内最多返回3600次。这样的限制。

微信截图_20241213121522.png



三、自定义返回内容

微信截图_20241213121553.png

默认支持两种返回格式。一种是html返回。一种是json返回。如果你需要修改返回内容的话。
文件在/www/server/btwaf/html目录中分别是limit.html和limit.json修改后需重启Nginx生效



四、怎么判断限制多少数值合理?
举个栗子:
看网站日志例如:看到某个IP访问特别大。
微信截图_20241213144933.png
这个IP访问了101,232 次。那么可以看看这个IP到底访问了什么。
微信截图_20241213145043.png
可以看到这个URL 一直倍这个IP访问。
这就可以限制这个URL/api/check_order_status
那么限制多少合适呢?
可以通过这个URL进行搜索。然后通过其他的正常IP 得到一个平均值。
微信截图_20241213145310.png
通过查看了十多个IP确定了。这个接口一天内也访问不了1W次。
微信截图_20241213145319.png
通过上面查看了10多个正常用户的访问。发现1分钟内都没有一个超过60次的那么我们就可以设置 这个接口60秒内最多访问80~90次。需要有点冗余。


如果你对自己的网站很了解。就可以通过大概判断的方式。来进行设置。
一般来说。
访问量不大的网站都适用于
    单IP 适合用60秒60次(一个接口)
    单IP 每秒内不超过5次 (一个接口)

至于流量比较大的。需要根据实际情况来自行计算次数。



五、后续更新
1.增加返回流量限制。例如某个IP最多返回多少流量
2.增加IP并发限制 。例如这个IP 最大并发2 QPS
3.等你来提需求












使用道具 举报 只看该作者 回复
发表于 2024-12-13 14:02:42 | 显示全部楼层
这个功能不错
使用道具 举报 回复 支持 反对
发表于 2024-12-13 15:05:49 | 显示全部楼层
66666666666666666
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表