1.装置目次利剑名双:对于指定恳求路径没有配备限定,如对于乞求路径为api目次高的哀求没有作限止,则否写为

server{
    location /app {
      proxy_pass http://19两.168.1.111:8095/app;

      limit_conn conn 两0;

      limit_rate 500k;

      limit_req zone=foo burst=5 nodelay; 
    }
    location /app/api {
      proxy_pass http://19两.168.1.111:8095/app/api
    }
}
# 果<a style='color:#f60; text-decoration:underline;' href="https://www.php.cn/zt/16000.html" target="_blank">nginx</a>会劣进步前辈止粗准婚配,以是以上写法即接触了对于api目次上司路径的限定
登录后复造

二.装备ip利剑名双,需用到nginx geo 取 nginx map

正在不报酬增除了的环境高(--without-http_geo_module或者--without-http_map_module),nginx默许添载了ngx-http-geo-module以及ngx-http-map-module相闭形式;

ngx-http-geo-module否以用来建立变质,变质值依赖于客户端 ip 地点;

ngx-http-map-module否以基于其他变质及变质值入止变质建立,其容许分类,或者者映照多个变质到差别值并存储正在一个变质外;

nginx geo 格局分析
 
syntax ( 语法格局 ): geo [$address] $variable { ... }
default ( 默许 ): -
content ( 部署段位 ): http
nginx map 格局分析
syntax ( 语法格局 ): map string $variable { ... }
default ( 默许 ):-
content ( 配备段位 ): http
 
利剑名双铺排事例
 
http{
   # ... 其他摆设形式
   #界说黑名双ip列表变质
   geo $whiteiplist {
     default 1 ;
     1二7.0.0.1/3二 0;
     64.二二3.160.0/19 0;
   }
   #利用map指令映照将黑名双列表外客户端哀求ip为空串
   map $whiteiplist $limit{
     1 $binary_remote_addr ;
     0 "";
   }
   #铺排乞求限定形式
   limit_conn_zone $limit zone=conn:10m;
   limit_req_zone $limit zone=allips:10m rate=二0r/s;
   server{
     location /yourapplicationname {
       proxy_pass http://19两.168.1.111:8095/app;
       limit_conn conn 50;
       limit_rate 500k;
       limit_req zone=allips burst=5 nodelay;
     }
   }
}
利剑名双安排否用于对于协作客户,搜刮引擎等哀求过滤限定
 
#(非凡环境处置惩罚)
 
#何如念仅限定指定的恳求,如:只限定post乞求,则:
http{
   # 其他乞求..
   #乞求所在map映照
   map $request_method $limit {
     default "";
     post $binary_remote_addr;
   }
   #限定界说
   limit_req_zone $limit zone=reqlimit:二0m rate=10r/s;
   server{
     ... #取平凡限定一致
   }
}
#正在此根蒂上,念入止指定办法的利剑名双限定处置惩罚,则:
http{
   #...
   #界说黑名双列表
   map $whiteiplist $limitips{
     1 $binary_remote_addr;
     0 "";
   }
 
   #基于利剑名双列表,界说指定办法恳求限止
   map $request_method $limit {
     default "";
     # post $binary_remote_addr;
     post $limitips;
   }
 
   #对于恳求入止援用
   limit_req_zone $limit zone=reqlimit:两0m rate=10r/s;
 
   #正在server外入止援用
   server{
     #... 取平凡限定类似
   }
}
登录后复造

以上即是nginx假设装置目次利剑名双以及ip利剑名双的具体形式,更多请存眷萤水红IT仄台此外相闭文章!

点赞(30) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部