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上。