location ^~/api/ {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
if ($arg_token ~ "^[T|S].+") {
proxy_pass http://xx:80;
break;
}
if ($request_method ~ POST) {
proxy_pass http://yy:80;
break;
}
proxy_pass http://zz:8080;
}
hello,我的一个location配置如上,我发送了一个post请求,而且token是Txxxxxxx这样的形式,我的预期结果他是先匹配了第一个条件,请求转发到http://xx:80,但实际却匹配了条件2,被转发到 http://yy:80了。
这是跟nginx的指令执行顺序有关系?如果需要实现我的预期结果,需要怎么修改
谢谢