我是靠谱客的博主 无语手机,最近开发中收集的这篇文章主要介绍nginx屏蔽指定URInginx 屏蔽指定URI,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

nginx 屏蔽指定URI

  1. 背景

    大多数服务器被恶意刷量,集中在个别接口,当服务器扛不住时可以暂时屏蔽被刷接口,或者根据指定querystring屏蔽请求

  2. 例子

    比如有个播放接口 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

  3. 常用if语句语法简介

    • if (a)判断a真假(字符串“0”为假)

    • if(a=1) a等于1 if(a!=1) a不等于1

    • if(a ~ "re")a匹配正则表达式,大小写敏感;~*大小写不敏感

  4. 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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部