# shell脚本,定时检查nginx日志,自动封禁异常ip **Repository Path**: mrygj/shell_checkNginxIp ## Basic Information - **Project Name**: shell脚本,定时检查nginx日志,自动封禁异常ip - **Description**: 超级简单的实现,适用于不复杂的场景。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-03-09 - **Last Updated**: 2024-03-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # shell脚本,定时检查nginx日志,并封禁异常ip #### 介绍 超级简单的实现,适用于不复杂的场景。 脚本里自带的参数是,查询最近5分钟的请求,把请求次数超过1000次的ip封掉。 根据需求自己修改合适的值。 #### 安装教程 1. 把shell放到服务器上,加上执行权限。 ``` #创建目录,然后把检查脚本上传到目录下 cd /etc/nginx mkdir denyconf cd denyconf #上传脚本文件 #加上可执行权限 chmod +x check_nginx.sh ``` 2. 新建配置文件,用于存储封禁的ip,并把此文件配置到nginx配置文件中。 ``` touch /etc/nginx/denyconf/denyips.conf vim /etc/nginx/nginx.conf #在http区域内增加下行配置(若只针对具体域名或路径,可在server或location区域内配置) include /etc/nginx/denyconf/denyips.conf; nginx -t nginx -s reload ``` 3. 通过crontab定时执行脚本。 ``` crontab -e #新增一行配置(此示例为每分钟执行一次检查脚本): */1 * * * * /etc/nginx/denyconf/check_nginx.sh ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)