nginx帶寬限制?limit_rate?limit_rate_after指令
知識梳理
在高負(fù)載的網(wǎng)絡(luò)環(huán)境下,為了保持服務(wù)的穩(wěn)定性,限速 (download rate) 是一種必要的控制訪問量的手段。Nginx 是一款高性能的 Web 服務(wù)器和反向代理服務(wù)器,可以使用 limit_rate_after 和 limit_rate 兩個(gè)主要指令來完成流量控制和限速。
limit_rate_after 指令
指令 limit_rate_after 會在客戶端成功建立連接之后,指定的大小后開始限制發(fā)送速度。這個(gè)指令的含義就是在連接建立后的 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;
這個(gè)指令可以幫助您限制連接的初始流量,以便于服務(wù)器的帶寬資源分配更為合理。
limit_rate 指令
limit_rate 指令是用來控制發(fā)送至客戶端的數(shù)據(jù)傳輸速度的,它可以限制整個(gè)連接的流量,也可以限制單個(gè)客戶端訪問速度。
以下是 limit_rate 的語法和示例:
syntax: limit_rate rate; default: — context: http, server, location
limit_rate 1k;
這個(gè)配置的作用是:在與客戶端建立連接之后的 10 秒內(nèi),限制每秒發(fā)送的數(shù)據(jù)量不超過 50kB;之后如果連接仍然打開,則限制與該客戶端的速率為 50kB/s。
需要提醒的一點(diǎn)是,盡管 limit_rate 可以一定程度上保護(hù)服務(wù)器資源,但是并不足以完全阻止惡意飽和攻擊。因此,在考慮流量控制和限速的同時(shí),還應(yīng)該結(jié)合其他安全和防護(hù)機(jī)制來更好地保護(hù)服務(wù)器。
實(shí)驗(yàn)
配置傳輸速度為 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報(bào)403
因?yàn)槲业膒ortal.tar文件沒有讀的權(quán)限,導(dǎo)致瀏覽器下載報(bào)403,使用 chmod 755 portal.tar 修改portal.tar文件的權(quán)限,如下圖:

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

