×

Nginx服務(wù)器限速功能(四)

  • 作者:新網(wǎng)
  • 來(lái)源:新網(wǎng)
  • 瀏覽:100
  • 2018-05-12 14:21:43

擴(kuò)展前面的例子,我們可以對(duì)白名單上的IP地址應(yīng)用速率限制: 白名單上的IP地址與第一個(gè)速率限制( req_zone )不匹配,但匹配第二個(gè)( req_zone_wl ),因此每秒限制為15個(gè)請(qǐng)求。

 擴(kuò)展前面的例子,我們可以對(duì)白名單上的IP地址應(yīng)用速率限制:

002UASMrzy7605pjKJv15&690.jpg

<div
白名單上的IP地址與第一個(gè)速率限制( req_zone )不匹配,但匹配第二個(gè)( req_zone_wl ),因此每秒限制為15個(gè)請(qǐng)求。
 
不在白名單上的IP地址與兩個(gè)速率限制相匹配,所以限制性較強(qiáng)的一個(gè)適用:每秒5個(gè)請(qǐng)求。
 
配置相關(guān)功能
 
記錄
 
默認(rèn)情況下,Nginx 記錄由于速率限制而延遲或丟棄的請(qǐng)求,如下例所示:
 
日志條目中的字段包括:
 
limitingrequests - 指示日志條目記錄速率限制。
 
excess - 此請(qǐng)求表示的配置速率每毫秒的請(qǐng)求數(shù)。
 
zone - 定義強(qiáng)加的限制的區(qū)域。
 
client - 發(fā)出請(qǐng)求的客戶(hù)client IP地址。
 
server - server IP地址或主機(jī)名。
 
request - 客戶(hù)端request實(shí)際HTTP請(qǐng)求。
 
host - Host HTTP頭的值。
 
默認(rèn)情況下,Nginx在error級(jí)別記錄被拒絕的請(qǐng)求,如上例中的[error]所示(它記錄延遲的請(qǐng)求在一個(gè)較低的級(jí)別,所以默認(rèn)info )。 要更改日志級(jí)別,請(qǐng)使用limit_req_log_level指令。 在這里,我們?cè)O(shè)置了拒絕的請(qǐng)求來(lái)記錄warn級(jí)別:
 
錯(cuò)誤代碼發(fā)送到客戶(hù)端
 
默認(rèn)情況下,當(dāng)客戶(hù)端超出速率限制時(shí),Nginx以狀態(tài)碼503作為響應(yīng)。
 
使用limit_req_status指令來(lái)設(shè)置一個(gè)不同的狀態(tài)碼(在這個(gè)例子中是444 ):
 
拒絕所有請(qǐng)求到特定的位置
 
如果您想要拒絕所有特定URL的請(qǐng)求,而不是限制它們,請(qǐng)為其配置一個(gè)塊并包含all指令:
 
以上就是我們關(guān)于Nginx和Nginx Plus更多速率限制功能以及對(duì)客戶(hù)端IP地址配置不同的白名單和黑名單來(lái)匹配不同的高級(jí)配置的介紹,同時(shí)我們也介紹了如何記錄被拒絕和延遲的記錄。希望通過(guò)今天本文章的分享,能夠?qū)Υ蠹矣兴鶐椭?。同時(shí)如果大家有更好的見(jiàn)解也可以與我們交流互動(dòng),我們將十分歡迎。
 

免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

免費(fèi)咨詢(xún)獲取折扣

Loading