nginx多重条件判断

来源:互联网 发布:花椒网络直播 编辑:程序博客网 时间:2024/06/08 09:11

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.

0 0
原创粉丝点击