nginx帶寬限制?limit_rate?limit_rate_after指令
知識梳理
在高負載的網(wǎng)絡(luò)環(huán)境下,為了保持服務(wù)的穩(wěn)定性,限速 (download rate) 是一種必要的控制訪問量的手段。Nginx 是一款高性能的 Web 服務(wù)器和反向代理服務(wù)器,可以使用 limit_rate_after 和 limit_rate 兩個主要指令來完成流量控制和限速。
limit_rate_after 指令
指令 limit_rate_after 會在客戶端成功建立連接之后,指定的大小后開始限制發(fā)送速度。這個指令的含義就是在連接建立后的 limit_rate_after 大小之后,數(shù)據(jù)發(fā)送速率將被限制。
以下是limit_rate_after 的語法和示例:
Syntax: limit_rate_after size; Default: limit_rate_after 0; Context: http, server, location, if in location
limit_rate_after 50m;
這個指令可以幫助您限制連接的初始流量,以便于服務(wù)器的帶寬資源分配更為合理。
limit_rate 指令
limit_rate 指令是用來控制發(fā)送至客戶端的數(shù)據(jù)傳輸速度的,它可以限制整個連接的流量,也可以限制單個客戶端訪問速度。
以下是 limit_rate 的語法和示例:
syntax: limit_rate rate; default: — context: http, server, location
limit_rate 1k;
這個配置的作用是:在與客戶端建立連接之后的 10 秒內(nèi),限制每秒發(fā)送的數(shù)據(jù)量不超過 50kB;之后如果連接仍然打開,則限制與該客戶端的速率為 50kB/s。
需要提醒的一點是,盡管 limit_rate 可以一定程度上保護服務(wù)器資源,但是并不足以完全阻止惡意飽和攻擊。因此,在考慮流量控制和限速的同時,還應(yīng)該結(jié)合其他安全和防護機制來更好地保護服務(wù)器。
實驗
配置傳輸速度為 1k
- nginx配置
location / {
limit_rate 1k;
root html;
}

在瀏覽器輸入 http://192.168.91.134/portal.tar 下載 portal.tar 文件 可以看到下載速度在 1k 以內(nèi)

配置下載50m后開始限制傳輸速度
- nginx配置
location / {
limit_rate_after 50m;
limit_rate 1k;
root html;
}
- 在瀏覽器輸入
http://192.168.91.134/portal.tar下載 portal.tar 文件
可以看到開始下載速度很快

在下載50m后,速度限制在1k以內(nèi)

我遇到的坑
- 訪問
http://192.168.91.134/portal.tar報403
因為我的portal.tar文件沒有讀的權(quán)限,導(dǎo)致瀏覽器下載報403,使用 chmod 755 portal.tar 修改portal.tar文件的權(quán)限,如下圖:

總結(jié)
Nginx 的限速功能對于控制訪問量、防止惡意攻擊具有很高的研究價值和實際意義。limit_rate 和 limit_rate_after 是 Nginx 常見的兩個限速指令,它們可以配置在 http、server、location 等區(qū)塊中,實現(xiàn)不同級別的流量限制和控制。一般情況下為了取得更好的限速效果,我們會同時使用兩個指令,通過多事件流的限速進行靈活的控制。
希望這篇文章能夠?qū)?Nginx 限速功能有更深入的理解,幫助開發(fā)者在實際的生產(chǎn)環(huán)境中使用它來進行更好的流量控制和管理。
參考
以上就是nginx帶寬限制 limit_rate limit_rate_after指令的詳細內(nèi)容,更多關(guān)于nginx帶寬限制指令的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
在Nginx用htpasswd對網(wǎng)站進行密碼保護的設(shè)置方法
很多時候我們需要對一些網(wǎng)站進行密碼保護,比如團隊內(nèi)部的站點、demo站點等等。這里所說的密碼保護是服務(wù)器級的,并非網(wǎng)站應(yīng)用層的注冊登錄那一套,而是利用服務(wù)器配置和htpasswd文件來實現(xiàn)訪問的密碼驗證2013-06-06
Nginx服務(wù)器對數(shù)據(jù)傳輸速度限制的基本配置方法講解
這篇文章主要介紹了Nginx服務(wù)器對數(shù)據(jù)傳輸速度限制的基本配置方法講解,包括第三方開發(fā)的限速模塊Nginx-limit-traffic-rate-module的使用介紹,需要的朋友可以參考下2016-01-01
詳解Nginx之Location配置(Location匹配順序)
這篇文章主要介紹了詳解Nginx之Location配置(Location匹配順序),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2019-11-11
使用log_format為Nginx服務(wù)器設(shè)置更詳細的日志格式方法
下面小編就為大家分享一篇使用log_format為Nginx服務(wù)器設(shè)置更詳細的日志格式方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03

