nginx 限速

注意:

nginx 1.1.8 之後的版本的語法改爲limit_conn_zone $binary_remote_addr zone=NAME:10m;

NAME 就是 zone 的名字詳情請看這裏 http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html


限制連接數:

要限制連接,必須先有一個容器對連接進行計數,在http段加入如下代碼:

"zone=" 給它一個名字,可以隨便叫,這個名字要跟下面的 limit_conn 一致

$binary_remote_addr = 用二進制來儲存客戶端的地址,1m 可以儲存 32000 個併發會話


... 省掉 N 字

http

{

limit_conn_zone $binary_remote_addr zone=addr:10m;


接下來需要對server不同的位置(location段)進行限速,比如限制每個IP併發連接數爲1,則

server

{

listen 80;

server_name 192.168.11.128;

index index.html index.htm index.php;

limit_conn addr 1; #是限制每個IP只能發起1個連接 (addr 要跟 limit_conn_zone 的變量對應)

limit_rate 100k; #限速爲 100KB/秒

root html;


注意事項:

limit_rate 100k; //是對每個連接限速100k。這裏是對連接限速,而不是對IP限速!如果一個IP允許兩個併發連接,那麼這個IP就是限速limit_rate * 2


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章