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

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

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

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

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

熱門活動

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