nginx依据cookie里的信息分流

nginx根据cookie里的信息分流

 

   map $COOKIE_id $group {
        700003508     admin;
        ~*3$     admin;
        default   user;
    }

    upstream backend_user {
        server   10.3.24.11:8080;
    }

    upstream backend_admin {
        server   10.3.25.21:8081;
    }

    server {
        listen       80;
        server_name  photo.domain.com;

        location / {
            proxy_pass            http://backend_$group;
        }
    }

 首先,是在nginx里面配置一个映射,$COOKIE_id可以解析出cookie里面的id字段,$group是一个变量,{}里面是映射规则,

这样,如果一个id为700003508的人来访问,$group就等于admin。

然后在server里面使用就会代理到http://backend_admin上。