Nginx的访问控制

Nginx的访问控制

Nginx的deny和allow指令是由ngx_http_access_module模块提供,Nginx安装默认内置了该模块。
除非在安装时有指定 --without-http_access_module。

  • deny,allow顺序
    示例1:
    location /
    {
    allow 192.168.0.0/24;
    allow 127.0.0.1;
    deny all;
    }
    说明:这段配置值允许192.168.0.0/24网段和127.0.0.1的请求,其他来源IP全部拒绝。
    示例2:
    location ~ “admin”
    {
    allow 110.21.33.121;
    deny all
    }
    说明:访问的uri中包含admin的请求,只允许110.21.33.121这个IP的请求。
    这里deny,allow的顺序是无所谓的,你想禁止那个IP就deny,allow all 允许剩下的所有。

  • 基于location的访问控制
    匹配到一些目录,特殊请求来做的

     shuai目录下面的全部禁止
     location /shuai/
     {
         deny all;
     }
     
     uri包含某些bak和.ht全部禁止
     location ~ ".bak|\.ht"
     {
         return 403;
     }
     请求的uri中包含data、cache、tmp、image、attachment并且以.php结尾的,全部禁止访问。
     location ~ (data|cache|tmp|image|attachment).*\.php$
     {
         deny all;
     }
    
  • nginx变量访问控制(document_uri ,request_uri ,user_agent,http_referer)
    if (条件判断) { 具体的deny,allow规则 }

     把从百度过来的返回一个html代码
     if ($http_referer ~ 'baidu.com')
     {
         return 200 "<html><script>window.location.href='//$host$request_uri';</script></html>";
     }
    
  • Nginx的限速
    可以通过ngx_http_limit_conn_module(限制下载速度)和ngx_http_limit_req_module(限制请求数)模块来实现限速的功能。
    nginx限速

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值