Nginx服務(wù)器對(duì)數(shù)據(jù)傳輸速度限制的基本配置方法講解
注意:
nginx 1.1.8 之后的版本的語法改為limit_conn_zone $binary_remote_addr zone=NAME:10m;
NAME 就是 zone 的名字詳情請(qǐng)看這里 http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html
限制連接數(shù):
要限制連接,必須先有一個(gè)容器對(duì)連接進(jìn)行計(jì)數(shù),在http段加入如下代碼:
"zone=" 給它一個(gè)名字,可以隨便叫,這個(gè)名字要跟下面的 limit_conn 一致
$binary_remote_addr = 用二進(jìn)制來儲(chǔ)存客戶端的地址,1m 可以儲(chǔ)存 32000 個(gè)并發(fā)會(huì)話
... 省掉 N 字
http { limit_conn_zone $binary_remote_addr zone=addr:10m;
接下來需要對(duì)server不同的位置(location段)進(jìn)行限速,比如限制每個(gè)IP并發(fā)連接數(shù)為1,則
server { listen 80; server_name 192.168.11.128; index index.html index.htm index.php; limit_conn addr 1; #是限制每個(gè)IP只能發(fā)起1個(gè)連接 (addr 要跟 limit_conn_zone 的變量對(duì)應(yīng)) limit_rate 100k; #限速為 100KB/秒 root html;
注意事項(xiàng):
limit_rate 100k; //是對(duì)每個(gè)連接限速100k。這里是對(duì)連接限速,而不是對(duì)IP限速!如果一個(gè)IP允許兩個(gè)并發(fā)連接,那么這個(gè)IP就是限速limit_rate * 2
使用Nginx-limit-traffic-rate-module模塊
項(xiàng)目地址:https://github.com/bigplum/Nginx-limit-traffic-rate-module
ngx_http_limit_conn_module 模塊下的指令limit_conn指定每個(gè)給定鍵值的最大同時(shí)連接數(shù),limit_rate指令對(duì)每個(gè)連接的速率限制。參數(shù)rate的單位是字節(jié)/秒,設(shè)置為0將關(guān)閉限速。 按連接限速而不是按IP限制,因此如果某個(gè)客戶端同時(shí)開啟了兩個(gè)連接,那么客戶端的整體速率是這條指令設(shè)置值的2倍。如果是多線程的下載,limit_rate并不能限制總的速度。
Limit_traffic_rate模塊提供了一種方法,通過客戶端IP或下載URL來限制總的下載速度,即使有多個(gè)連接。
該限制方法如下所示:
http { #limit_traffic_rate_zone rate $request_uri 32m; limit_traffic_rate_zone rate $remote_addr 32m; server { location /download/ { limit_traffic_rate rate 20k; } } }
相關(guān)文章
nginx rewrite重寫規(guī)則與防盜鏈配置方法教程詳解
這篇文章主要介紹了nginx rewrite重寫規(guī)則與防盜鏈配置方法教程詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09nginx使用內(nèi)置模塊配置限速限流的方法實(shí)例
Nginx現(xiàn)在已經(jīng)是最火的負(fù)載均衡之一,在流量陡增的互聯(lián)網(wǎng)面前,接口限流也是很有必要的,尤其是針對(duì)高并發(fā)的場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于nginx使用內(nèi)置模塊配置限速限流的相關(guān)資料,需要的朋友可以參考下2022-05-05生產(chǎn)環(huán)境之Nginx高可用方案實(shí)現(xiàn)過程解析
這篇文章主要介紹了生產(chǎn)環(huán)境之Nginx高可用方案實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08