nginx多重条件判断

nginx配置语法里面的if其实是不支持逻辑与,或操作的。但是可以通过set变量的方式绕过去。实例如下:

if ($http_user_agent ~ "^Mozilla/5.0" ) {
    set $test 1;
}
if ($request_uri ~ "sendSMS")
{
    set $test "${test}2";
}
if ($request_uri !~ "vcode")
{
    set $test "${test}3" ;
}
if ($test = 123)
{
    return 403;

}

代码用于屏蔽所有Mozilla的agent发起的sendSMS uri的请求,并且uri中没有包含vcode信息的请求。直接会被返回403.

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭