概述
nginx 屏蔽指定URI
-
背景
大多数服务器被恶意刷量,集中在个别接口,当服务器扛不住时可以暂时屏蔽被刷接口,或者根据指定querystring屏蔽请求
-
例子
比如有个播放接口 http://your.com/your/play?id=<视频id>
屏蔽该接口,在location / 之前加上
location ~ /play { return 403; }
如果日志里查出集中刷量的视频id可以临时屏蔽该视频,location /之前加上
location ~ /play { if ($arg_id ~ "222222|333333|其他被刷id") { return 404; } proxy_pass yourUpstream; }
此配置视频id为222222或者333333或者其他被刷id就会被404
-
常用if语句语法简介
-
if (a)判断a真假(字符串“0”为假)
-
if(a=1) a等于1 if(a!=1) a不等于1
-
if(a ~ "re")a匹配正则表达式,大小写敏感;~*大小写不敏感
-
-
limit_req简介(限制请求速率)
-
语法:
limit_req zone=name [burst=number] [nodelay];
-
例子
http块里定义zone limit_req_zone $binary_remote_addr zone=youku_zone:200m rate=200r/s;
http, server, location块里使用zone限速 limit_req zone=youku_zone burst=10 [nodelay];
表示以ip为key,每个ip限速200req/秒,超过该速度的就会被delay,delay超过10个就503。如果写上nodelay,则直接503
-
最后
以上就是无语手机为你收集整理的nginx屏蔽指定URInginx 屏蔽指定URI的全部内容,希望文章能够帮你解决nginx屏蔽指定URInginx 屏蔽指定URI所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复