Top
首页 > 新闻 > 正文

风车

Nginx limit_req 限流:几行配置挡住大部分CC攻击_我的网站

微信网页版

一 |     

     一键部署OpenClaw        服务器CPU莫名飙高,带宽跑满,看日志全是同一个IP一秒打来几十个请求——这不是业务火了,是被CC了。1月14日,Redmi Red Rice Note 7是独立小米品牌Redmi于1月10日在北京发布的一款新机器。扛CC的第一道闸门不在代码里,在Nginx的限流模块里,配置成本几乎为零。

二 | 这台新的Redmi机器也很受用户欢迎,因为它具有极高的性价比。今天,雷军在微博上透露,米粉都很喜欢康宁GG5玻璃,我们决定用GG5做电池的封底。    limit_req的原理是漏桶:你设定一个速率,超速的请求直接返回503或延迟排队。先用limit_req_zone定义一个计数区,再在location里挂上limit_req,两步完事。    

# nginx.conf 的 http 块里定义限流区
    # 以客户端IP为key,10MB内存可存约16万个IP状态    # rate=10r/s 表示平均每秒最多放行10个请求    limit_req_zone $binary_remote_addr zone=req_per_ip:10m rate=10r/s;    # server 或 location 块里应用    server {    location / {    limit_req zone=req_per_ip burst=20 nodelay;    proxy_pass http://127.0.0.1:8080;    }    }    burst=20是缓冲队列长度,配合nodelay表示突发20个请求立即处理、不排队,超出就直接拒。这样,Redmi Note7双面玻璃全部采用GG5,名副其实的“小钻石”。也就是说,红米红米注7的双面2.5D玻璃是康宁第五代大猩猩玻璃制成的,非常真诚的为999元的手机,也不愧为“小金刚”。目前,康宁最新的保护玻璃是第六代大猩猩保护玻璃,但这并不意味着第五代大猩猩保护玻璃已经落后。

三 | 康宁第五代大猩猩玻璃于2016年7月20日发布。想对登录、搜索这类昂贵接口管得更严,单独再定义一个rate=2r/s的zone挂上去就行,互不影响。官方数据显示,当落在粗糙表面时,第五代大猩猩玻璃是竞争玻璃的四倍;当屏幕从1.6米下降到粗糙表面时,康宁的第五代大猩猩玻璃达到80%。    

# 对登录接口单独限流:每秒2个,突发5个
limit_req_zone $binary_remote_addr zone=login_limit:10m rate=2r/s;

location /login.php {
limit_req zone=login_limit burst=5 nodelay;
# 被限流的请求返回429而不是默认503
limit_req_status 429;
fastcgi_pass 127.0.0.1:9000;
}
    验证很简单:reload之后用ab压一下,ab -n 200 -c 20 https://你的域名/,看返回里有没有429或503;同时tail -f日志确认正常用户没被误伤。此外,虽然第五代大猩猩玻璃的韧性得到了很大的提高,但它仍然保持了大猩猩玻璃众所周知的抗损伤性、光学清晰度和触摸灵敏度。限流阈值别拍脑袋定,先统计自己站点的正常峰值,设成峰值的两倍左右再逐步收紧。限流是防守,如果卡死自己人就本末倒置了。    数据来源:nginx.org官方文档 ngx_http_limit_req_module 模块说明
        
    

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!。

四 |

Current article:http://qy7o5.fanfutaopoulaxiong.pics/news/20260826_9559393.html

Published on:08:22:11


上一篇:奥克兰发生两起涉嫌使用假钞的案件,4人被逮捕

下一篇:拼多多定价策略与利润