server {
listen 127.0.0.1:80;
        set $test  A; 
    
        set $testB B;
        location / {
           if ($test ~* "A") { 
                 proxy_pass http://www.so.com; 
                 break; 
           } 
           if ($testB ~* "B") { 
                 proxy_pass http://www.sogou.com; 
                 #break; 
           } 
       }

}


希望满足某个条件的时候,走某个proxy_pass。但是如果多个if都满足,比如上例中的情况,在没有break的时候,会执行下面的;

为了第一个匹配上之后就执行proxy_pass,可以加上break

更多推荐