校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 基于Nginx實現限制某IP短時間訪問次數

基于Nginx實現限制某IP短時間訪問次數

熱門標簽:宿州外呼系統公司 陜西辦理400電話 地圖標注小程序 株洲電銷 信陽電銷外呼系統怎么樣 海外工廠地圖標注 南昌外呼系統定制 貴陽網絡外呼系統軟件 南充電銷外呼系統

如何設置能限制某個IP某一時間段的訪問次數是一個讓人頭疼的問題,特別面對惡意的ddos攻擊的時候。其中CC攻擊(Challenge Collapsar)是DDOS(分布式拒絕服務)的一種,也是一種常見的網站攻擊方法,攻擊者通過代理服務器或者肉雞向向受害主機不停地發大量數據包,造成對方服務器資源耗盡,一直到宕機崩潰。

cc攻擊一般就是使用有限的ip數對服務器頻繁發送數據來達到攻擊的目的,nginx可以通過HttpLimitReqModul和HttpLimitZoneModule配置來限制ip在同一時間段的訪問次數來防cc攻擊。

HttpLimitReqModul用來限制連單位時間內連接數的模塊,使用limit_req_zone和limit_req指令配合使用來達到限制。一旦并發連接超過指定數量,就會返回503錯誤。

HttpLimitConnModul用來限制單個ip的并發連接數,使用limit_zone和limit_conn指令

這兩個模塊的區別HttpLimitReqModul是對一段時間內的連接數限制,HttpLimitConnModul是對同一時刻的連接數限制

HttpLimitReqModul 限制某一段時間內同一ip訪問數實例

http{
  ...
  #定義一個名為allips的limit_req_zone用來存儲session,大小是10M內存,
  #以$binary_remote_addr 為key,限制平均每秒的請求為20個,
  #1M能存儲16000個狀態,rete的值必須為整數,
  #如果限制兩秒鐘一個請求,可以設置成30r/m
  limit_req_zone $binary_remote_addr zone=allips:10m rate=20r/s;
  ...
  server{
    ...
    location {
      ...

      #限制每ip每秒不超過20個請求,漏桶數burst為5
      #brust的意思就是,如果第1秒、2,3,4秒請求為19個,
      #第5秒的請求為25個是被允許的。
      #但是如果你第1秒就25個請求,第2秒超過20的請求返回503錯誤。
      #nodelay,如果不設置該選項,嚴格使用平均速率限制請求數,
      #第1秒25個請求時,5個請求放到第2秒執行,
      #設置nodelay,25個請求將在第1秒執行。

      limit_req zone=allips burst=5 nodelay;
      ...
    }
    ...
  }
  ...
}

HttpLimitZoneModule 限制并發連接數實例

limit_zone只能定義在http作用域,limit_conn可以定義在http server location作用域

http{
  ...
  #定義一個名為one的limit_zone,大小10M內存來存儲session,
  #以$binary_remote_addr 為key
  #nginx 1.18以后用limit_conn_zone替換了limit_conn
  #且只能放在http作用域
  limit_conn_zone  one $binary_remote_addr 10m; 
  ...
  server{
    ...
    location {
      ...
      limit_conn one 20;     #連接數限制
      #帶寬限制,對單個連接限數,如果一個ip兩個連接,就是500x2k
      limit_rate 500k;      
      ...
    }
    ...
  }
  ...
}

nginx白名單設置

以上配置會對所有的ip都進行限制,有些時候我們不希望對搜索引擎的蜘蛛或者自己測試ip進行限制,
對于特定的白名單ip我們可以借助geo指令實現。

1.

http{
   geo $limited{
    default 1;
    #google
    64.233.160.0/19 0;
    65.52.0.0/14 0;
    66.102.0.0/20 0;
    66.249.64.0/19 0;
    72.14.192.0/18 0;
    74.125.0.0/16 0;
    209.85.128.0/17 0;
    216.239.32.0/19 0;
    #M$
    64.4.0.0/18 0;
    157.60.0.0/16 0;
    157.54.0.0/15 0;
    157.56.0.0/14 0;
    207.46.0.0/16 0;
    207.68.192.0/20 0;
    207.68.128.0/18 0;
    #yahoo
    8.12.144.0/24 0;
    66.196.64.0/18 0;
    66.228.160.0/19 0;
    67.195.0.0/16 0;
    74.6.0.0/16 0;
    68.142.192.0/18 0;
    72.30.0.0/16 0;
    209.191.64.0/18 0;
    #My IPs
    127.0.0.1/32 0;
    123.456.0.0/28 0; #example for your server CIDR
  }

geo指令定義了一個白名單$limited變量,默認值為1,如果客戶端ip在上面的范圍內,$limited的值為0

2.使用map指令映射搜索引擎客戶端的ip為空串,如果不是搜索引擎就顯示本身真是的ip,這樣搜索引擎ip就不能存到limit_req_zone內存session中,所以不會限制搜索引擎的ip訪問

map $limited $limit {
1 $binary_remote_addr;
0 "";
}

3.設置limit_req_zone和limit_req

limit_req_zone $limit zone=foo:1m rate=10r/m;

limit_req zone=foo burst=5;

最后我們使用ab壓php-fpm的方式,對上面的方法效果實際測試下

例1:限制只允許一分鐘內只允許一個ip訪問60次配置,也就是平均每秒1次

首先我們準備一個php腳本放在根目錄下$document_root

test.php

<?
for( $i=0; $i < 1000; $i++)
echo 'Hello World';
?>

nginx配置增加limit_req_zone 和 limit_req

http{
  ...
  limit_req_zone $binary_remote_addr zone=allips:10m rate=60r/m;
  ...
  server{
    ...
    location {
      ...
      limit_req zone=allips;
      ...
    }
    ...
  }
  ...
}
# ab -n 5 -c 1 http://blog.rekfan.com/test.php
127.0.0.1- - [22/Dec/2012:06:27:06 +0000] "GET /test.php HTTP/1.0" 200 11000 "-" "Rekfan_Server/1.2.6"
127.0.0.1 - - [22/Dec/2012:06:27:06 +0000] "GET /test.php HTTP/1.0" 503 537 "-" "Rekfan_Server/1.2.6"
127.0.0.1 - - [22/Dec/2012:06:27:07 +0000] "GET /test.php HTTP/1.0" 503 537 "-" "Rekfan_Server/1.2.6"
127.0.0.1 - - [22/Dec/2012:06:27:07 +0000] "GET /test.php HTTP/1.0" 503 537 "-" "Rekfan_Server/1.2.6"
127.0.0.1 - - [22/Dec/2012:06:27:07 +0000] "GET /test.php HTTP/1.0" 503 537 "-" "Rekfan_Server/1.2.6"

未設置brust和nodelay可以看到該配置只允許每秒訪問1次,超出的請求返回503錯誤

http{
  ...
  limit_req_zone $binary_remote_addr zone=allips:10m rate=60r/m;
  ...
  server{
    ...
    location {
      ...
      limit_req zone=allips burst=1 nodelay;
      ...
    }
    ...
  }
  ...
}

# ab -n 5 -c 1 http://blog.rekfan.com/test.php
127.0.0.1- - [22/Dec/2012:07:01:00 +0000] "GET /test.php HTTP/1.0" 200 11000 "-" "Rekfan_Server/1.2.6"
127.0.0.1 - - [22/Dec/2012:07:01:00 +0000] "GET /test.php HTTP/1.0" 200 11000 "-" "Rekfan_Server/1.2.6"
127.0.0.1 - - [22/Dec/2012:07:01:01 +0000] "GET /test.php HTTP/1.0" 503 537 "-" "Rekfan_Server/1.2.6"
127.0.0.1 - - [22/Dec/2012:07:01:01 +0000] "GET /test.php HTTP/1.0" 503 537 "-" "Rekfan_Server/1.2.6"
127.0.0.1 - - [22/Dec/2012:07:01:01 +0000] "GET /test.php HTTP/1.0" 503 537 "-" "Rekfan_Server/1.2.6"

設置brust=1和nodelay后允許第1秒處理兩個請求。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:鄭州 石嘴山 拉薩 汕頭 玉林 晉城 三明 開封

巨人網絡通訊聲明:本文標題《基于Nginx實現限制某IP短時間訪問次數》,本文關鍵詞  基于,Nginx,實現,限制,某,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《基于Nginx實現限制某IP短時間訪問次數》相關的同類信息!
  • 本頁收集關于基于Nginx實現限制某IP短時間訪問次數的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产午夜精品在线观看| 日韩一区精品字幕| 欧美视频在线不卡| 久久精品国产一区二区三 | 成人福利视频在线看| 亚洲人成小说网站色在线 | 色婷婷精品大在线视频| 成年人午夜久久久| 99久久精品国产导航| 99国产精品一区| 国产在线乱码一区二区三区| 麻豆91在线播放| 天天综合色天天综合色h| 午夜精品爽啪视频| 欧美aaaaa成人免费观看视频| 国产午夜精品福利| 日韩一区中文字幕| 亚洲在线免费播放| 日本成人在线不卡视频| 久久精品99国产精品日本| 美女脱光内衣内裤视频久久影院| 亚洲成人精品影院| 日本成人在线视频网站| 国产激情视频一区二区在线观看 | 国产精品每日更新在线播放网址| 国产精品白丝av| 国产成人免费av在线| 国产麻豆精品视频| eeuss鲁片一区二区三区| 国产福利一区二区三区| 国产精品一卡二| 国产91清纯白嫩初高中在线观看 | 99久久精品久久久久久清纯| 综合久久久久久| 欧美国产激情一区二区三区蜜月| 国产婷婷精品av在线| 亚洲精品欧美激情| 免费高清视频精品| 成人国产精品免费| 图片区小说区国产精品视频| 国产在线精品一区二区不卡了| 国产精品 欧美精品| 日本免费新一区视频| 精品一区二区免费看| 久久99国内精品| av一区二区三区| 亚洲国产日韩av| 亚洲国产一区二区视频| 国产精品一区二区不卡| 在线免费观看日本欧美| 久久久久国产免费免费| 亚洲bt欧美bt精品777| 狂野欧美性猛交blacked| www.亚洲免费av| 欧美剧情片在线观看| 久久久噜噜噜久久人人看 | 亚洲国产精品尤物yw在线观看| 精品一区二区三区不卡| 欧美日韩精品福利| 国产欧美一区二区精品婷婷 | 欧美色区777第一页| 欧美v亚洲v综合ⅴ国产v| 一区二区三区日本| 国产91精品露脸国语对白| 色女孩综合影院| 国产精品嫩草影院com| 日韩电影在线一区| 欧美色涩在线第一页| 亚洲欧美视频在线观看视频| 懂色av一区二区三区蜜臀| 91精品久久久久久久91蜜桃| 一区二区三区中文在线| av亚洲精华国产精华| 日本一区二区免费在线| 久久电影网站中文字幕| 91美女蜜桃在线| 欧美国产激情一区二区三区蜜月| 麻豆成人免费电影| 欧美一级免费大片| 日韩avvvv在线播放| 色偷偷88欧美精品久久久| 自拍偷拍亚洲激情| 99这里都是精品| |精品福利一区二区三区| 成人蜜臀av电影| 久久亚洲一区二区三区四区| 久久不见久久见免费视频7| 欧美妇女性影城| 日本不卡视频一二三区| 正在播放亚洲一区| 免费一级欧美片在线观看| 欧美va天堂va视频va在线| 久久99精品国产| 久久久天堂av| 成人三级伦理片| 亚洲精品国产视频| 欧美亚洲一区二区在线| 亚洲午夜国产一区99re久久| 精品污污网站免费看| 视频在线观看国产精品| 欧美日韩一区小说| 青青草国产精品97视觉盛宴| 久久综合九色综合97婷婷女人| 国产一区二区久久| 国产精品美日韩| 欧美日韩午夜精品| 男人的j进女人的j一区| 91精品婷婷国产综合久久性色| 麻豆freexxxx性91精品| 国产日韩欧美综合在线| 色琪琪一区二区三区亚洲区| 日韩国产欧美在线播放| 国产欧美一区二区三区鸳鸯浴| 国产精品456| 伊人夜夜躁av伊人久久| 精品少妇一区二区三区免费观看 | 美女一区二区视频| 欧美激情在线一区二区| 一本大道av一区二区在线播放| 日韩电影免费在线| 国产精品免费人成网站| 91精品福利在线| 国产精品一区二区在线观看网站| 国产精品美女www爽爽爽| 在线成人免费观看| yourporn久久国产精品| 亚洲bdsm女犯bdsm网站| 精品国产一二三| 在线视频国内一区二区| 成人福利视频在线看| 日韩电影在线免费看| 依依成人综合视频| 欧美激情一区二区三区不卡| 欧美精选午夜久久久乱码6080| 国产成人在线视频网站| 一区二区三区在线不卡| 久久久午夜精品| 欧美一激情一区二区三区| 色综合中文字幕国产 | 蜜桃视频在线观看一区| 一区二区三区中文字幕电影 | 色综合天天狠狠| 精品一区二区三区在线视频| 亚洲一区二区在线观看视频 | 色综合天天综合网天天狠天天 | 欧美成人三级电影在线| 在线观看日韩av先锋影音电影院| 国产一区在线看| 日韩av一区二区三区| 亚洲欧美国产毛片在线| 欧美大片免费久久精品三p| 97成人超碰视| 国产在线精品一区二区夜色| 视频在线观看一区| 日日夜夜精品免费视频| 丝袜亚洲精品中文字幕一区| 亚洲视频综合在线| 国产亚洲午夜高清国产拍精品 | 91黄色在线观看| 91在线观看地址| 91麻豆精品秘密| 91免费精品国自产拍在线不卡| 粉嫩在线一区二区三区视频| 国内外成人在线| 青娱乐精品在线视频| 精品在线播放免费| 国内精品第一页| 国产在线日韩欧美| 成人美女视频在线看| 成人av在线影院| 9久草视频在线视频精品| 91女神在线视频| 欧美另类久久久品| 日韩欧美一区二区视频| 精品国产精品一区二区夜夜嗨| 久久久91精品国产一区二区精品 | 欧美色精品在线视频| 在线视频亚洲一区| 欧美吻胸吃奶大尺度电影| 欧美另类高清zo欧美| 91麻豆精品国产91久久久资源速度 | 一区二区三区美女| 天天综合日日夜夜精品| 免费不卡在线观看| 国产色婷婷亚洲99精品小说| 国产精品蜜臀av| 亚洲成在线观看| 韩国理伦片一区二区三区在线播放| 国产成人午夜视频| 91原创在线视频| 欧美精品在线观看播放| 久久精品亚洲乱码伦伦中文| 亚洲美女淫视频| 久久99精品久久久久婷婷| 亚洲一级二级在线| 国产麻豆精品theporn| 色播五月激情综合网| 欧美成人a∨高清免费观看| 97se狠狠狠综合亚洲狠狠| 91丨九色丨国产丨porny|