• 全都有综合资源网

    分享赚钱

    一个专业的免费资源网

    每天更新100+优质资源

  • 手机版二维码

    随时手机查素材

  • 扫描二维码

    加入官方微信群

nginx怎么禁止高频ip的访问?

技术文章 每日更新
2024-7-21 18:02 72人浏览 0人回复
原作者: 全都有综合资源网 来自: 全都有综合资源网 收藏 分享 邀请
摘要

通过观察 Nginx 日子发现存在高频 IP 访问,为了保证服务的正常运行,当存在恶意 IP 访问屏蔽访问时。 首先,nginx统计日志限制了ip 简单处理: 查询最新的访问日志编号,按匹配 IP 列进行排序,删除重复内容并进行计 ...

  经过观察 Nginx 日子发现存在高频 IP 拜候,为了保证办事的一般运转,当存在恶意 IP 拜候屏障拜候时。

nginx怎样制止高频ip的拜候?8418 作者:全都有综合资本网 来历:全都有综合资本网 公布时候:2024-7-21 18:02

首先,nginx统计日志限制了ip
简单处置: 查询最新的拜候日志编号,按婚配 IP 列停止排序,删除反复内容并停止计数,按巨细停止排序。最初,将过剩的 IP 写入 Nginx 设置文件,并重新启动 Nginx 办事以实现403限制拜候。

layui-box layui-code-view" style="margin-top: 0px; margin-bottom: 10px; padding: 9.5px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); white-space: pre-wrap; overflow-wrap: break-word; box-sizing: border-box; position: relative; font-size: 13px; border: 1px solid rgb(204, 204, 204); background-color: rgb(245, 245, 245); color: rgb(51, 51, 51); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; overflow: auto; line-height: 1.42857; word-break: break-all; border-radius: 4px;">

code

  1. #count.txt ,设置文件背景控制,寄存日志条数和最大拜候数。
  2. [root@localhost ~]# cat count.txt
  3. [root@localhost ~]# 10000 100

code

  1. #!/bin/bash
  2. #limit_ip.sh
  3. #desc:限制高频ip剧本
  4. nginx_home=/usr/local/openresty/nginx
  5. log_path=/usr/local/openresty/nginx/logs
  6. count=`cat count.txt |awk '{print $1}'` #拜候条数
  7. rate=`cat count.txt |awk '{print $2}'`  #限制次数
  8. tail -n $count $log_path/access.log \
  9.  |awk '{print $1,$12}' \
  10.  |grep -i -v -E "Google|yahoo|baidu|sogou|360" \
  11.  |awk '{print $1}'|sort|uniq -c|sort -rn \
  12.  |awk '{if($1>$rate)print "deny "$2";"}' >$nginx_home/conf/vhost/blockip.conf
  13. $nginx_home/sbin/nginx -s reload

code

  1. [root@localhost ~]# cat nginx.conf
  2. ...
  3. include ./vhost/blockip.conf;
  4. ...
  5.  
  6. [root@localhost ~]# cat blockip.conf
  7. deny 10.0.0.1;
  8. deny 10.0.0.2;
  9. deny 10.0.0.3;
  10. ...
  11.  
  12. #按时器,5分钟挪用一次
  13. [root@localhost ~]# crontab -e
  14. */5 * * * * /data/shellscript/limit_ip.sh

二、nginx模块限制ip

code

  1. #nginx.conf
  2. http{
  3. ...
  4.  
  5. limit_req_zone $binary_remote_addr zone=limits:10m rate=50r/s;
  6. limit_conn_zone $binary_remote_addr zone=addr:10m;
  7.  
  8. server {
  9.     limit_req zone=limits burst=50;
  10.     
  11.     limit_conn addr 100;
  12.     limit_rate 100k;
  13. }
  14. ...
  15.  
  16. }

limit_req_zone : 限制单元时候内的请求数

limit_req_conn : 限制同一时候内的毗连(并发)数

超越限制会间接返货503毛病。

limit_req_zone模块

code

  1. limit_req_zone $binary_remote_addr zone=five:10m rate=50r/s;

$binary_remote_addr 暗示经过remote_addr这个标识来做限制,“binary_”的目标是缩写内存占用量,是限制同一客户端ip地址。 

zone=limits:10m暗示天生一个巨细为10M,名字为limits的内存地区,用来存储拜候的频次信息。 

rate=1r/s暗示答应不异标识的客户真个拜候频次,这里限制的是每秒1次,还可以有比如30r/m的。

code

  1. limit_req zone=limits burst=50;

第一个参数:zone=limits设备利用哪个设置地区来做限制,与上面limit_req_zone 里的name对应。 

 

第二个参数:burst=50,burst这个设置的意义是设备一个巨细为50的缓冲区当有大量请求(爆发)过来时,跨越了拜候频次限制的请求可以先放到这个缓冲区内。 

limit_conn_zone模块

这里限制的是当前请求已经读取到请求头后的一切毗连的ip。$binary_remote_addr zone=addr:10m;的意义同上。

code

  1. limit_conn_zone $binary_remote_addr zone=addr:10m;

code

  1. limit_conn limits 50;

限制limits地区每个IP只能倡议一个并发毗连。

limit_rate 100k 对每个毗连限速100k。

具体参考:

http://nginx.org/en/docs/http/ngx_http_limit_conn_module.HTML

http://nginx.org/en/docs/http/ngx_http_limit_req_module.html

三、nginx+lua waf 限制ip

ngx_lua_waf是一个基于lua-nginx-module(openresty)的web利用防火墙。

 

GitHub地址:https://github.com/loveshell/ngx_lua_wa


©版权免责声明
1、本站所有资源均来自用户上传及互联网。 如有侵权,请联系站长!
2、分享目的仅供大家学习交流。 下载后必须在24小时内删除!
3、不得用于非法商业目的或违反国家法律。 否则,后果自负!
4、本站提供的源代码、模板、插件等资源不包含技术服务。 敬请谅解!
5.如果出现无法下载、无效或有广告的链接,请联系管理员寻求帮助!
6、本站资源价格仅用于赞助,所收取的费用仅用于维持本站日常运营!
7、如果遇到加密压缩包,请使用WINRAR解压。 如果遇到无法解压的加密压缩包,请联系管理员!
8、由于精力有限,很多源代码无法详细测试(解密),部分源代码无法区分为病毒或误报,所以没有进行修改。 请在使用前进行筛选。

路过

雷人

握手

鲜花

鸡蛋
热门教程
专业的免费源码资源分享平台
每天更新100+资源

招募版主发工资

  • 官方在线客服

    QQ客服:红颜

    点击交谈

    在线客服:良子

    点击交谈

    在线客服:闵月

    点击交谈
  • 上海市虹口区海伦中心B座4F4055-4056室

  • 手机扫码查看手机版

    手机查找资源更方便

  • 扫一扫关注官方微信公众号

    加入官方微信

一个专业的免费源码资源互联网分享平台 ©2001-2024 https://www.douyouvip.com全都有综合资源网( 豫ICP备2024057239号-1 )赞助会员|网站地图 HTML
全都有综合资源网,WordPress主题PHP源码,PHP网站源码,网站模板,软件源码,网站源码免费下载,免费网站源码,网站源码模板,免费网站源码下载,wp免费源码,wp免费主题下载,PHP企业网站源码,软件源码下载