网站被人用不同的 IP 疯狂访问,还好 IP 不多,5,6 个 IP,访问的都是同个 API 。
Nginx 配置 IP 频率限制只能限制同个 IP
Nginx 有什么配置方法可以限制这种不同 IP 疯狂访问的,它访问的都是同个 API,但是显然不能根据 API 来限制频率,可能刚好有真实用户访问这个 API 。
用多个访问频率限制应该可以解决,例如每秒限 5 次, 每分钟限 100 次
1
PerFectTime 2021-08-07 22:30:37 +08:00
接口加签,根据 token 限流
|
2
v2k9 2021-08-07 22:32:49 +08:00
这个量不用管。
真要进行限制,有可能会误判,影响正常用户使用。 网络上每天都有各种 IP 扫描,实在管不过来。 后台安装个 Nginx 防火情,可以设定限制规则。 |
3
balabalaguguji OP @PerFectTime #1 嗯,tokon 都是一样的,这个可以。
|
4
eason1874 2021-08-07 22:43:54 +08:00
从别处过来的傻缺爬虫吧,我的网站曾经被几个 IP 每天各访问几万次,限制一下请求频率就安静了。
如果是 Nginx,原生配置可以用 limit_req 根据 IP 限流,要高度自定义就加个 ngx_lua 或者 njs 模块自己写流控。 |
5
ch2 2021-08-07 22:44:41 +08:00
用 redis 限流
|
6
killva4624 2021-08-09 19:52:41 +08:00
作为网关的话,可以用 Kong,基于 nginx_lua 开发的,自带限流、监控插件和管理 API 等,作为网关管理的话比纯 Nginx 舒服一些。
|