引用场景
- DDOS防御
- 下载场景保护IO
IP下载速率做限制
每处理一次请求,对突发超过5个以后的请求放入缓存区
http {
# zone=缓存名:流速10m rate=美秒一个
limit_req_zone $binary_remote_addr zone=baism:10m rate=1r/s;
server {
location /search/ {
# zone缓存区名 触发值5 返回503
limit_req zone=baism burst=5 nodelay;
}
}
下载限速
- 限制下载速度
- 限制同时下载人数
# 基于IP做连接限制 限制同 IP并发为1 下载速度为100K limit_conn_zone $binary_remote_addr zone=addr:10m;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
location /abc {
limit_conn addr 1;
limit_rate 100k;
}
}