晓夏

新手菜鸟Linux学习之路

不怕从零开始,只怕从未启程

关于nginx的多重判断举例(限制ip访问特定页面)

浏览量:724

今天突然觉得个人博客的后台登录页面,太过暴露了。所以想要通过修改nginx的config文件来限制ip访问后台


如下:
location / { 
    ###### #禁止后台访问#######
      set $flag 0;      设立一个标识符为0
      #判断是否访问后台页面,通过正则匹配这两个登录页面,'|'这里代表的是或者的意思  
      if ($request_uri ~* "^/zb_system\/(login.php|admin.php)$") {   
          set $flag "${flag}1";  #如果匹配的话则在标识符后面加个1,这是flag为01
       }
      #判断是否是特定ip,多个ip用|分隔,'!~'代表不匹配
      if ($remote_addr !~* "192.168.1.12") {  
         set $flag "${flag}2";    #如果不匹配这个ip则设立标识符为012
      }
      #不匹配就跳转首页!通过判断标识符来进行判断。使其跳转到特定页面 
      if ($flag = "012") {    
         rewrite ^(.*) http://www.guoxin-linux.com break;
      }

}


以上就是nginx的多重判断了。因为nginx是不支持多重判断的。也不支持多个条件判断。所以需要用设立flag的方式来进行多重判断。

这里只是个例子。以后遇到这类情况也可以举一反三

分享:

支付宝

微信