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 的 default_server 定義及匹配規(guī)則
這篇文章主要介紹了詳解nginx 的 default_server 定義及匹配規(guī)則,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08nginx rewrite 實現(xiàn)URL跳轉(zhuǎn)的方法
今天小編就為大家分享一篇nginx rewrite 實現(xiàn)URL跳轉(zhuǎn)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08nginx反向代理導(dǎo)致session失效的問題解決
這篇文章主要介紹了nginx反向代理導(dǎo)致session失效的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06nginx服務(wù)器實現(xiàn)上傳下載文件的實例代碼
這篇文章主要介紹了nginx服務(wù)器實現(xiàn)上傳下載文件的實例代碼,本文通過代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-02-02nginx網(wǎng)站服務(wù)如何配置防盜鏈(推薦)
這篇文章主要介紹了nginx網(wǎng)站服務(wù)如何配置防盜鏈,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01