利用Nginx怎么限制一個IP在短時間內(nèi)的訪問次數(shù)-創(chuàng)新互聯(lián)

利用Nginx怎么限制一個IP在短時間內(nèi)的訪問次數(shù)?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元縉云做網(wǎng)站,已為上家服務(wù),為縉云各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575

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

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

HttpLimitReqModul用來限制連單位時間內(nèi)連接數(shù)的模塊,使用limit_req_zone和limit_req指令配合使用來達(dá)到限制。一旦并發(fā)連接超過指定數(shù)量,就會返回503錯誤。

HttpLimitConnModul用來限制單個ip的并發(fā)連接數(shù),使用limit_zone和limit_conn指令

這兩個模塊的區(qū)別HttpLimitReqModul是對一段時間內(nèi)的連接數(shù)限制,HttpLimitConnModul是對同一時刻的連接數(shù)限制

HttpLimitReqModul 限制某一段時間內(nèi)同一ip訪問數(shù)實例

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

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

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

網(wǎng)站標(biāo)題:利用Nginx怎么限制一個IP在短時間內(nèi)的訪問次數(shù)-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://muchs.cn/article6/cdscig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、定制網(wǎng)站、外貿(mào)建站、關(guān)鍵詞優(yōu)化、標(biāo)簽優(yōu)化、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計