网站首页 > 技术教程 正文
概述: 最近发现总有一些默认奇妙的请求进来,同IP进来的请求不停的在发送,根据分析,这些请求都没有真是请求到任何业务,考虑到流量和压力因素,决定对这下请求进行限制,以达到拒绝这写IP的恶意请求, 以下环境是nginx下的限制,其它web中间件同样也适用,只是加入的方式不同,对应调整即可。 具体看如下:
#!/bin/bash
_ccdir= /opt/cc
_tdipfile=ip_`date +%Y%m%d`.txt
_aclog=/var/log/nginx/access_passport.log
if [ ! -d $_ccdir ]; then
mkdir -p $_ccdir
fiif [ ! -f $_ccdir/$_tdipfile ]; then
touch $_ccdir/$_tdipfile
fi
for i in `tail -n 10000 $_aclog | grep -i -v -E "110.75|101.225.10.41|101.50.41.141|121.195.7.65|60.12.157.216" | awk '{print $1}' | sort | uniq -c |sort -rn | awk '{if ($1>80){print $2}}'`
#grep -i -v -E "google|yahoo|baidu|msnbot|FeedSky|sogou" // 此处我们可以增加加白名单做不限制请求,比如搜索蜘蛛、管理IP、测试IP等。
do
echo $i >> $_ccdir/$_tdipfile
#策略一
#echo "deny $i;" >> /etc/nginx/conf.d/denyip_`date +%Y%m%d%H%M`.cfg // 此处要注意,生效前提是nginx主配置文件增加对应的include conf.d/*.cfg 。
#find /etc/nginx/conf.d/ -mmin +180 -name "*.cfg" -exec rm -rf {} \; //应用这两条规则,实现3小时自动解除限制。
done
#策略二
cat $_ccdir/$_tdipfile | awk '{print "deny "$1";"}' > /etc/nginx/conf.d/denyip_`date +%Y%m%d`.cfg // 此处要注意,生效前提是nginx主配置文件增加对应的include conf.d/*.cfg 。
find /etc/nginx/conf.d/*.cfg -mtime +10 -exec rm -rf {} \; // 避免文件过多,定时清理.cfg配置文件。
/usr/local/nginx/sbin/nginx -t && /usr/local/nginx/sbin/nginx -s reload
总结说明: 将以上内容放入系统定时任务或者监控策略即可,上述策略一和策略二建议开启一个,策略二将覆盖策略一。 另外,需修改路径为自己的nginx路径和文件、日志路径。
猜你喜欢
- 2024-10-13 技术积淀---nginx限速(nginx限速模块)
- 2024-10-13 每日学点---一文读懂Nginx跨域请求Access-Control-Allow-Origin
- 2024-09-30 nginx 拉黑IP(nginx 拦截域名)
- 2024-09-30 使用Nginx轻松搞定跨域问题(使用nginx解决跨域问题)
- 2024-09-30 CentOS 8.0 开启iptable防火墙,禁止指定IP访问
- 2024-09-30 详解Nginx访问控制与参数调优的方法
- 2024-09-30 Nginx流控(nginx分流)
- 2024-09-30 使用Nginx、Nginx Plus防止服务器DDoS攻击
- 2024-09-30 一文搞懂Nginx限流,原来这么简单
- 2024-09-30 Nginx如何防止DDoS(分布式拒绝服务)攻击
你 发表评论:
欢迎- 最近发表
-
- Oracle 在其新的 Linux 内核中引入了热补丁功能
- CentOS 7.6下安装Oracle 11.2.0.4
- ORACLE体系 - 2(oracle体系讲解)
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
- Hadoop自学系列集(二) ---- CentOS下安装JDK
- 如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 搭建Oracle数据库服务器(oracle服务器创建用户)
- OGG同步到Kafka(oggforbigdata到kafka)
- oracle是什么软件?(oracle是干什么用的)
- 脚本化修改Oracle用户的密码以及执行sql(增删改查等)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)