亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 操作系統 > 正文

關于nginx的限速模塊

2024-06-28 14:33:03
字體:
來源:轉載
供稿:網友

nginx 使用 ngx_http_limit_req_module和ngx_http_limit_conn_module 來限制對資源的請求

這種方法,對于CC攻擊(Challenge Collapsar)or DDOS(分布式拒絕服務)有一定的用處

1、HttpLimitReqModule

限制request 事實上就是 the PRocessing rate of requests coming from a single ip address,使用的是漏桶算法(Leaky Bucket)

Leaky Bucket有兩種處理方式,具體可以看wiki

Traffic Shaping和Traffic Policing
在桶滿水之后,常見的兩種處理方式為:
1)暫時攔截住上方水的向下流動,等待桶中的一部分水漏走后,再放行上方水
2)溢出的上方水直接拋棄
將水看作網絡通信中數據包的抽象,則方式1起到的效果稱為Traffic Shaping,方式2起到的效果稱為Traffic Policing
由此可見,Traffic Shaping的核心理念是"等待",Traffic Policing的核心理念是"丟棄"。它們是兩種常見的流速控制方法

Syntax:	limit_req zone=name [burst=number] [nodelay];Default:	—Context:	http, server, location

示例

limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;server {    location /search/ {        limit_req zone=one burst=5 nodelay;    }

第一段配置

第一個參數:$binary_remote_addr 表示通過remote_addr這個標識來做限制,“binary_”的目的是縮寫內存占用量,是限制同一客戶端ip地址
第二個參數:zone=one:10m表示生成一個大小為10M,名字為one的內存區域,用來存儲訪問的頻次信息
第三個參數:rate=1r/s表示允許相同標識的客戶端的訪問頻次,這里限制的是每秒1次,還可以有比如30r/m的

第二段配置

第一個參數:zone=one 設置使用哪個配置區域來做限制,與上面limit_req_zone 里的name對應
第二個參數:burst=5,重點說明一下這個配置,burst爆發的意思,這個配置的意思是設置一個大小為5的緩沖區當有大量請求(爆發)過來時,超過了訪問頻次限制的請求可以先放到這個緩沖區內
第三個參數:nodelay,如果設置,超過訪問頻次而且緩沖區也滿了的時候就會直接返回503,如果沒有設置,則所有請求會等待排隊

 

下面這個配置可以限制特定UA(比如搜索引擎)的訪問

limit_req_zone  $anti_spider  zone=one:10m   rate=10r/s;limit_req zone=one burst=100 nodelay;if ($http_user_agent ~* "googlebot|bingbot|Feedfetcher-Google") {    set $anti_spider $http_user_agent;} 

 

2、ngx_http_limit_conn_module

這個模塊就是 limit  the number of connections from a single IP address

Not all connections are counted. A connection is counted only if it has a request processed by the server and the whole request header has already been read

Syntax:	limit_conn zone number;Default:	—Context:	http, server, location

示例

http {    limit_conn_zone $binary_remote_addr zone=addr:10m;    ...    server {        ...        location /download/ {            limit_conn addr 1;            #帶寬限制,對單個連接限數,如果一個ip兩個連接,就是500x2k            limit_rate 100k;           }    }}

Sets the shared memory zone and the maximum allowed number of connections for a given key value. When this limit is exceeded, the server will return the 503 (Service Temporarily Unavailable) error in reply to a request

  • $binary_remote_addr是限制同一客戶端ip地址
  • $server是限制同一server最大并發數
  • limit_conn為限制并發連接數,nginx 1.18以后用limit_conn_zone替換了limit_conn

配置完之后,我們可以使用ab或者webbench來測試一下

ab -n 5 -c 1 http://www.test.org/test.php

正常情況下可以這樣來配置

map $remote_addr $rt_filtered_ip {        default $binary_remote_addr;        1.2.3.4 "";        4.4.4.4 "";}orgeo $rt_filtered_ip {    default        $binary_remote_addr;    127.0.0.1      "";    192.168.1.0/24 "";    10.1.0.0/16    "";    ::1            "";    2001:0db8::/32 "";    1.2.3.4        ""}limit_conn_zone $binary_remote_addr zone=perip:10m;limit_conn_zone $server_name zone=perserver:10m;limit_conn_zone $host$uri zone=peruri:10m;limit_req_zone $rt_filtered_ip zone=qps:10m rate=1r/s;server {        location = /wp-login.php {            limit_req zone=qps burst=5 nodelay;            limit_conn perip 10;            limit_conn perserver 100;            limit_rate 500k;            include fastcgi_params;            fastcgi_pass 127.0.0.1:9000;        }}ab -n 100 -c 10 example.com/wp-login.php$binary_remote_addr是限制同一客戶端ip地址;$server_name是限制同一server最大并發數;limit_conn為限制并發連接數;limit_rate為限制下載速度;

 

參考

https://en.wikipedia.org/wiki/Leaky_bucket

http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html

http://nginx.org/en/docs/http/ngx_http_limit_req_module.html

https://rtcamp.com/tutorials/nginx/block-wp-login-php-bruteforce-attack/


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩激情av在线免费观看| 久久久久99精品久久久久| 亚洲一级一级97网| 国产在线播放不卡| 精品福利一区二区| 亚洲精品视频免费| 欧美国产精品va在线观看| 国产欧美日韩免费看aⅴ视频| 最新中文字幕亚洲| 国产精品久久久久久久久免费看| 97精品欧美一区二区三区| 亚洲级视频在线观看免费1级| 久久99亚洲精品| 欧美性20hd另类| 九九九久久久久久| 久久久久久久久久久成人| 97**国产露脸精品国产| 91免费综合在线| 68精品久久久久久欧美| 欧美日本亚洲视频| 欧美一区二区视频97| 91嫩草在线视频| 国产精品久久久久7777婷婷| 亚洲激情视频在线| 久久久久日韩精品久久久男男| 日韩欧美一区视频| 亚洲欧美日韩高清| 亚洲精品99999| 亚洲人成电影网站色xx| 国产成人精品优优av| 亚洲第一精品自拍| 亚洲午夜精品久久久久久久久久久久| 欧美成人一区二区三区电影| 亚洲精品大尺度| 91精品美女在线| 久久久久久久激情视频| 日韩美女免费视频| 自拍偷拍亚洲区| 国产成人精品在线视频| 欧美日韩国产二区| 日本不卡免费高清视频| 国产一区二区欧美日韩| 亚洲桃花岛网站| 亚洲成人精品视频| 色综合久久天天综线观看| 欧美成人一区二区三区电影| 国产精品视频999| 91精品视频大全| 精品亚洲aⅴ在线观看| 亚洲精品成人久久久| 97视频在线观看亚洲| 久久中文精品视频| 亚洲在线第一页| 97欧美精品一区二区三区| 久久精品国产久精国产一老狼| 国产精品欧美日韩一区二区| 国产精品igao视频| 亚洲精品视频免费在线观看| 日韩欧美在线一区| 欧美激情视频一区二区三区不卡| 欧美高清一级大片| 国模极品一区二区三区| 国产精品视频区1| 欧美寡妇偷汉性猛交| 2019av中文字幕| 亚洲色图在线观看| 亚洲一区二区少妇| 国产精品视频永久免费播放| 国产va免费精品高清在线| 亚洲伊人久久大香线蕉av| 亚洲资源在线看| 亚洲精品美女在线| 欧美日韩性生活视频| 欧美日韩国产专区| 国内外成人免费激情在线视频网站| 91在线色戒在线| 精品久久久国产精品999| 国产精品国产三级国产专播精品人| 欧美激情中文字幕乱码免费| 伊人亚洲福利一区二区三区| 亚洲国产免费av| 久久久久久久av| 欧美最猛性xxxxx(亚洲精品)| 91欧美激情另类亚洲| 日韩中文字幕av| 91在线视频免费| 国产亚洲视频中文字幕视频| 亚洲国产中文字幕在线观看| 日本中文字幕成人| 欧美放荡办公室videos4k| 国产精品国产自产拍高清av水多| 亚洲美女在线观看| 国产剧情日韩欧美| 日韩毛片在线观看| 中文国产成人精品久久一| 日韩一区二区三区在线播放| 性欧美xxxx交| 国产精品九九九| 国产大片精品免费永久看nba| 亚洲欧洲免费视频| 日韩激情视频在线播放| 欧美激情成人在线视频| 国产视频在线观看一区二区| 伊人精品在线观看| 亚洲第一区第一页| 国产精品91久久久久久| 中文在线不卡视频| 国产一区二区三区在线| 国产成人精品av| 91精品视频在线免费观看| 一区二区三区四区在线观看视频| 亚洲片国产一区一级在线观看| 欧美日韩国产综合视频在线观看中文| 欧美日本黄视频| 青青精品视频播放| 国产在线98福利播放视频| 91人人爽人人爽人人精88v| 91久久在线观看| 成人444kkkk在线观看| 欧美精品中文字幕一区| 日本久久久久久久久| 日韩国产激情在线| 久久免费国产视频| 成人国产精品一区| 自拍偷拍亚洲区| 欧美中文字幕在线视频| 青青青国产精品一区二区| 日韩电视剧免费观看网站| 亚洲欧美第一页| 91在线精品播放| 精品国偷自产在线视频| 日本精品免费观看| 国产美女扒开尿口久久久| 久久久久久高潮国产精品视| 国产成人精品视频在线观看| 亚洲欧美制服中文字幕| 欧美第一页在线| 久久亚洲精品中文字幕冲田杏梨| 亚洲成人精品视频在线观看| 日韩免费av片在线观看| 国产一区深夜福利| 91高清在线免费观看| 97国产精品人人爽人人做| 成人精品一区二区三区电影免费| 亚洲人成网站色ww在线| 色午夜这里只有精品| 亚洲综合视频1区| 久久99精品久久久久久琪琪| 国产精品免费视频xxxx| 国产综合视频在线观看| 91久久国产精品| 国产成人精品免高潮费视频| 成人欧美一区二区三区在线| 91精品久久久久久久久久入口| 亚洲国产精品人人爽夜夜爽| 亚洲精品国产福利| 97精品一区二区三区| 91精品国产综合久久香蕉| 日韩中文有码在线视频| 国产精品美女www爽爽爽视频| 欧美极品美女电影一区| 91亚洲一区精品| 亚洲乱亚洲乱妇无码| 国产精品久久久久久久久久|