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

主頁 > 知識庫 > 基于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短時間訪問次數的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    五月婷婷激情综合| 国产成人av电影在线| 国产精品国产三级国产aⅴ入口 | 亚洲成人av在线电影| 亚洲视频一区在线| ...av二区三区久久精品| 中文字幕av一区二区三区| 久久黄色级2电影| 中文字幕精品在线不卡| 国产亚洲精品aa| 国产精品色在线观看| 国产精品欧美综合在线| 亚洲欧洲另类国产综合| 樱桃视频在线观看一区| 午夜精品福利一区二区三区av | 亚洲成人动漫在线免费观看| 午夜精品福利视频网站| 蜜桃av一区二区| 欧美激情自拍偷拍| 性做久久久久久免费观看 | 国产宾馆实践打屁股91| 高清不卡一区二区在线| 99久久99久久综合| 欧美三级中文字| 56国语精品自产拍在线观看| 精品国产免费视频| 日韩毛片在线免费观看| 亚洲成人免费在线观看| 久久99国产精品成人| caoporm超碰国产精品| 欧美伊人久久大香线蕉综合69| 在线电影欧美成精品| 久久久国产精品麻豆| 亚洲三级在线观看| 亚洲123区在线观看| 国产日韩高清在线| 日韩女优视频免费观看| 亚洲国产精品激情在线观看| 久久久一区二区| 老色鬼精品视频在线观看播放| 国产一区在线观看视频| 91麻豆视频网站| 日韩欧美区一区二| 亚洲精品国产精品乱码不99| 美国十次综合导航| 色婷婷久久综合| 久久综合中文字幕| 香蕉成人伊视频在线观看| 国产精品一级二级三级| 欧美精品亚洲二区| 亚洲婷婷综合色高清在线| 91精品免费观看| 国产精品久久久久久久久果冻传媒 | 国产成人av电影免费在线观看| 色老综合老女人久久久| 久久免费精品国产久精品久久久久| 一区二区三区精品在线| 国产a久久麻豆| 日韩精品一区在线观看| 三级久久三级久久| 欧美性受xxxx黑人xyx| 中国色在线观看另类| 精品一区二区综合| 91精品国产入口在线| 中文字幕亚洲成人| 国产成人av电影在线观看| 欧美视频中文一区二区三区在线观看| 日韩三级伦理片妻子的秘密按摩| 亚洲国产精品嫩草影院| 99精品视频在线播放观看| 国产精品三级在线观看| 国产精品99久久久久久宅男| 久久一区二区三区四区| 久久精品国产99久久6| 国产成人久久精品77777最新版本| 日日夜夜免费精品视频| 91激情在线视频| 亚洲综合精品自拍| 欧洲精品一区二区| 亚洲一区二区三区视频在线 | av在线一区二区三区| 欧美激情一区二区三区蜜桃视频| 国产精品一区二区三区四区| 国产亚洲va综合人人澡精品| 丁香啪啪综合成人亚洲小说| 国产精品国产三级国产aⅴ入口| 99久久久久免费精品国产| 亚洲美女区一区| 欧美在线你懂得| 日韩 欧美一区二区三区| 日韩一区二区三区在线| 国产乱人伦偷精品视频不卡| 中文字幕免费不卡在线| 色婷婷亚洲综合| 午夜成人免费电影| 精品国产亚洲在线| 成年人国产精品| 午夜精品一区二区三区三上悠亚| 欧美一区二区三区男人的天堂| 激情文学综合丁香| 国产精品白丝在线| 欧美日韩国产在线播放网站| 婷婷综合另类小说色区| 久久久影院官网| 欧美亚洲高清一区二区三区不卡| 日韩**一区毛片| 国产精品久久久久久久久久久免费看 | 国产成人综合精品三级| 亚洲免费在线电影| 欧美一区二区三区在线观看视频| 国产精品一区在线| 亚洲国产另类精品专区| 久久这里只有精品首页| 在线日韩国产精品| 久久se这里有精品| 亚洲精品乱码久久久久久久久| 91.麻豆视频| 国产91精品在线观看| 欧美一区二区网站| 91视频观看免费| 国产专区欧美精品| 五月开心婷婷久久| 中文字幕日本不卡| 欧美电影免费提供在线观看| 色999日韩国产欧美一区二区| 国产中文字幕精品| 五月综合激情网| 亚洲精品乱码久久久久久| 久久蜜桃av一区二区天堂| 欧美视频一区在线| 国产精品白丝jk黑袜喷水| 日本在线不卡视频一二三区| 亚洲色图19p| 欧美极品少妇xxxxⅹ高跟鞋| 欧美精品色综合| 欧美日韩五月天| 色婷婷精品大视频在线蜜桃视频 | 久久久久国产一区二区三区四区| 欧美日韩成人一区二区| 成人avav影音| 国产精品99久久久久| 免费三级欧美电影| 亚洲第一在线综合网站| 亚洲欧美色图小说| 亚洲视频 欧洲视频| 亚洲国产成人私人影院tom| 26uuu久久天堂性欧美| 日韩精品资源二区在线| 欧美一级免费观看| 国产视频一区二区在线观看| 欧美自拍丝袜亚洲| 99久久精品费精品国产一区二区| 成人蜜臀av电影| 懂色一区二区三区免费观看| 国产精品一区二区久久精品爱涩| 极品少妇一区二区三区精品视频| 日韩精品福利网| 视频一区视频二区中文| 三级欧美在线一区| 免费人成在线不卡| 久久99精品久久久久久| 国产精品一区二区在线看| 国产激情视频一区二区在线观看| 国产精品一区二区久久不卡 | 国产成人av福利| 成人av资源站| 99r国产精品| 色香蕉久久蜜桃| 精品伦理精品一区| 欧美在线一区二区三区| 国产乱码精品一区二区三 | 婷婷国产v国产偷v亚洲高清| 26uuu成人网一区二区三区| 精品日韩一区二区三区免费视频| 555www色欧美视频| 精品久久久久久久久久久久久久久 | 中文字幕av资源一区| 中文字幕在线不卡| 亚洲综合小说图片| 亚洲一区二区精品3399| 秋霞成人午夜伦在线观看| 国产一区美女在线| 99精品欧美一区二区三区小说| 欧美伊人久久久久久久久影院 | 欧美三级在线视频| 久久久一区二区三区捆绑**| 亚洲手机成人高清视频| 视频一区欧美精品| 丁香天五香天堂综合| 91成人看片片| 欧美一区二区免费| 国产精品国产自产拍高清av王其| 亚洲成国产人片在线观看| 国产激情一区二区三区四区| 在线免费av一区| 精品国产乱码91久久久久久网站| 国产精品午夜免费| 蜜臀久久99精品久久久久久9 | 亚洲精品一区二区三区香蕉| 亚洲精品你懂的|