18禁超污无遮挡无码网址极速丨亚洲精品久久国产片400部丨黑人巨茎美女高潮视频丨18禁裸乳啪啪无遮裆网站丨免费1级做爰片1000部视频

×
新網 > 云服務器 > 正文

Nginx服務器限速功能(一)

  • 作者:新網
  • 來源:新網
  • 瀏覽:100
  • 2018-05-12 14:23:30

我們都知道Nginx服務器有一個十分有用的限速功能,但是它卻常常被錯誤配置。今天我們就來聊一聊它的限速功能。 這個功能用來限制用戶在某此時間段內請求的的HTTP請求數,此請求應該是 GET 或POST 來發出的請求。

 我們都知道Nginx服務器有一個十分有用的限速功能,但是它卻常常被錯誤配置。今天我們就來聊一聊它的限速功能。

002UASMrzy7605pjKJv15&690.jpg

<div
這個功能用來限制用戶在某此時間段內請求的的HTTP請求數,此請求應該是 GET 或POST 來發出的請求。
 
這個限速功能常常被應用于網絡安全方面。比如減慢暴力密碼破解的攻擊,爬蟲對網頁的抓取,防止DDOS攻擊等。通過它來限制和過濾為為真實用戶的標準數值,它會把來源URL等信息寫到系統日志中。更確切地說,這個功能常用于提供極少量的應用服務器,用戶訪問量不多,但卻常常癱瘓的問題。
 
在本文中,我們將詳細介紹Nginx的速率限制基礎及更高級的配置。值得一提的是,Nginx限速的工作原理與Nginx Plus相同。
 
Nginx限速是怎樣工作的
 
Nginx限速使用 Leaky(唝水桶)算法,比喻為水桶頂部倒水,底部漏水,如果倒入水的速率超過漏水的速度,則水桶漏出。在電信網絡和分組交換網絡中,帶寬有限的情況下該算法使用場景較多。
 
就請求處理而言,水代表客戶端的請求,存水的桶按先進先出(FIFO)調度算法處理的隊列。漏出的水表示退出緩沖區等服務器處理,而溢出表示請被丟棄且不再提供服務。
 
配置基本的速率限制
 
速率限制主要有2個主要指令,limit_req_zone和limit_req。如下代碼:
 
limit_req_zone指令定義了速度限制的參數,同時在出現的上下文中啟用速率限制。(在本例中是針對于 /login/ URI的所有請求)
 
limit_requ_zone 指令通常定義在HTTP塊中,這樣可以用于多個上下文。它包含3個參數:
 
Key - 定義應用限制的請求特征。 在這個例子中,它是Nginx變量$binary_remote_addr ,它保存著客戶端IP地址的二進制表示。 這意味著我們將每個唯一的IP地址限制為由第三個參數定義的請求速率(我們使用這個變量,因為它比客戶端IP地址的字符串表示$remote_addr占用更少的空間)。
 
Zone - 定義用于存儲每個IP地址狀態的共享內存區域以及訪問請求受限URL的頻率。 將信息保存在共享內存中意味著它可以在Nginx工作進程之間共享。
 

免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。

免費咨詢獲取折扣

Loading