數(shù)十年專注企業(yè)數(shù)字化轉(zhuǎn)型、智能化升級(jí)、企業(yè)上云解決方案服務(wù)商
工單提交 實(shí)名認(rèn)證 騰佑科技咨詢熱線咨詢熱線: 400-996-8756
百度云服務(wù)中心騰佑科技公司
云服務(wù)器活動(dòng) 服務(wù)器租用 服務(wù)器托管 機(jī)柜租賃 帶寬租賃
  • 最新資訊
  • 熱門資訊
  • 最熱資訊
智能建站

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

發(fā)布時(shí)間:2021-03-31 作者:未知

簡述:在我們的例子中,隊(duì)列中的第20個(gè)數(shù)據(jù)包等待2秒鐘被轉(zhuǎn)發(fā),此時(shí)對(duì)其的響應(yīng)可能對(duì)客戶端不再有用。要解決這種情況,請(qǐng)將nodelay參數(shù)與burst參數(shù)一起添加:...在我們的例子中,隊(duì)列中的第20個(gè)數(shù)據(jù)包

在我們的例子中,隊(duì)列中的第20個(gè)數(shù)據(jù)包等待2秒鐘被轉(zhuǎn)發(fā),此時(shí)對(duì)其的響應(yīng)可能對(duì)客戶端不再有用。 要解決這種情況,請(qǐng)將nodelay參數(shù)與burst參數(shù)一起添加:...在我們的例子中,隊(duì)列中的第20個(gè)數(shù)據(jù)包等待2秒鐘被轉(zhuǎn)發(fā),此時(shí)對(duì)其的響應(yīng)可能對(duì)客戶端不再有用。 要解決這種情況,請(qǐng)將nodelay參數(shù)與burst參數(shù)一起添加:通過nodelay參數(shù),Nginx仍然根據(jù)burst參數(shù)在隊(duì)列中分配時(shí)隙,并且強(qiáng)加配置的速率限制,但是不排除轉(zhuǎn)發(fā)排隊(duì)的請(qǐng)求。 相反,當(dāng)請(qǐng)求到達(dá)“太快”時(shí),Nginx會(huì)立即轉(zhuǎn)發(fā),只要隊(duì)列中有一個(gè)可用的時(shí)隙。 它將該插槽標(biāo)記為“已占用”,并且不會(huì)將其釋放以供其他請(qǐng)求使用,直到經(jīng)過適當(dāng)?shù)臅r(shí)間(在本例中為100毫秒之后)。假設(shè)像以前一樣,20個(gè)時(shí)隙的隊(duì)列是空的,21個(gè)請(qǐng)求同時(shí)從給定的IP地址到達(dá)。 Nginx立即轉(zhuǎn)發(fā)所有21個(gè)請(qǐng)求,并將隊(duì)列中的20個(gè)插槽標(biāo)記為已占用,然后每100毫秒釋放1個(gè)插槽(如果有25個(gè)請(qǐng)求,Nginx會(huì)立即轉(zhuǎn)發(fā)21個(gè)插槽,標(biāo)記20個(gè)插槽,拒絕4個(gè)請(qǐng)求狀態(tài)503 )?,F(xiàn)在假設(shè)在第一組請(qǐng)求之后101毫秒被轉(zhuǎn)發(fā),另外20個(gè)請(qǐng)求同時(shí)到達(dá)。 隊(duì)列中只有1個(gè)插槽被釋放,所以Nginx轉(zhuǎn)發(fā)1個(gè)請(qǐng)求,并拒絕其他19個(gè)狀態(tài)為503的隊(duì)列。 如果在20個(gè)新請(qǐng)求到達(dá)之前經(jīng)過了501毫秒,那么5個(gè)空閑空間,所以Nginx立即轉(zhuǎn)發(fā)5個(gè)請(qǐng)求,拒絕15個(gè)請(qǐng)求。效果相當(dāng)于每秒10個(gè)請(qǐng)求的速率限制。 如果您希望在不限制請(qǐng)求之間的允許間隔的情況下施加速率限制,則nodelay選項(xiàng)非常有用。注意:對(duì)于大多數(shù)部署,我們建議將burst和nodelay參數(shù)包含到limit_req指令中。高級(jí)配置示例通過將基本速率限制與其他Nginx功能相結(jié)合,您可以實(shí)現(xiàn)更多細(xì)微的流量限制。白名單此示例顯示如何對(duì)不在“白名單”上的任何人的請(qǐng)求施加速率限制。這個(gè)例子使用了geo和map指令。 geo塊為白名單中的IP地址分配一個(gè)0值到$limit值,其他0 1 。 然后,我們使用地圖將這些值轉(zhuǎn)換為一個(gè)密鑰,以便:如果$limit是0,$limit_key設(shè)置為空字符串。如果$limit是1,則$limit_key以二進(jìn)制格式設(shè)置為客戶端的IP地址。把兩者放在一起,$limit_key被設(shè)置為白名單IP地址的空字符串,否則設(shè)置為客戶端的IP地址。 當(dāng)limit_req_zone目錄(密鑰)的第一個(gè)參數(shù)為空字符串時(shí),限制不適用,因此列入白名單的IP地址(在10.0.0.0/8和192.168.0.0/24子網(wǎng)中)不受限制。 所有其他IP地址每秒限制為5個(gè)請(qǐng)求。limit_req指令將限制應(yīng)用于/位置,并且允許在配置的限制上突發(fā)多達(dá)10個(gè)分組而沒有轉(zhuǎn)發(fā)延遲在一個(gè)位置包含多個(gè)limit_req指令您可以在一個(gè)位置包含多個(gè)limit_req指令。 所有與給定請(qǐng)求匹配的限制都被應(yīng)用,這意味著使用最嚴(yán)格的限制。 例如,如果多于一個(gè)指令施加延遲,則使用最長的延遲。 同樣,如果這是任何指令的影響,即使其他指令允許它們通過,請(qǐng)求也會(huì)被拒絕。
點(diǎn)擊展開全文

鄭州騰佑科技有限公司(以下簡稱“騰佑科技”)成立于2009年, 總部位于鄭州,是 一家致力于互聯(lián)網(wǎng)服務(wù)業(yè)的高新技術(shù)企業(yè),公司主營業(yè)務(wù)以互聯(lián)網(wǎng)數(shù)據(jù)中心、云計(jì)算、人 工智能、軟件開發(fā)、安全服務(wù)“互聯(lián)網(wǎng)+”行業(yè)解決方案及行業(yè)應(yīng)用等相關(guān)業(yè)務(wù)。

售前咨詢熱線:400-996-8756

備案提交:0371-89913068

售后客服:0371-89913000

熱門活動(dòng)

百度云服務(wù)中心
  • 熱門資訊
  • 隨便看看