导读今天小编跟大家讲解下有关科技常识:Nginx实现if多重判断配置方法示例,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关科技常
今天小编跟大家讲解下有关科技常识:Nginx实现if多重判断配置方法示例,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关科技常识:Nginx实现if多重判断配置方法示例的相关资料,希望小伙伴会喜欢也能够帮助大家。
nginx的配置中不支持if条件的逻辑与/逻辑或运算 ,并且不支持if的嵌套语法,我们可以用变量的方式来实现:首先是伪代码(即不被nginx支持),写在这里只是为了方便理解:复制代码 代码如下:if ($remote_addr ~"^(12.34|56.78)"&& $http_user_agent ~*"spider") { return 403; }下面这是等效的,并真实可用的配置复制代码 代码如下:set $flag 0; if ($remote_addr ~"^(12.34|56.78)") { set $flag"${flag}1"; } if ($http_user_agent ~*"spider") { set $flag"${flag}2"; } if ($flag ="012") { return 403; }
来源:爱蒂网