nginx如果条件多个proxy_pass

时间:2018-08-09 06:08:41

标签: nginx nginx-location nginx-reverse-proxy nginx-config

我想让Nginx根据Cookie的存在来更改代理目标。

我能做到的最好的是:

server {
    listen 80;
    listen [::]:80; # For IPv6 addresses, but not sure if needed as well.

    location / {
        proxy_pass http://server-1.com;
        if ($http_cookie ~* "sessionid") {
            proxy_pass http://httpbin.org;
            break;
        }
    }
}

但是,似乎已经达成全球共识,location中的if条件是一件坏事。我的问题:

  1. 在这种情况下,我使用if条件是否正确?
  2. 是否需要break;

0 个答案:

没有答案