Choose upstream based in a cookie
Dayo
nginx-forum at nginx.us
Thu Feb 17 18:23:38 MSK 2011
I don't know if that will work (see http://wiki.nginx.org/IfIsEvil)
This will almost certainly work:
[code]
location / {
set_by_lua $backend_ip '
if ngx.var.cookie_memberid ~= "" and ngx.var.cookie_memberid ~= nil
then
return "10.10.10.10"
elseif ngx.var.cookie_clientid ~= "" and ngx.var.cookie_clientid ~=
nil then
return "10.10.10.15"
else
return "10.10.10.20"
end
';
proxy_pass http://$backend_ip;
}
[/code]
Needs 3rd party lua module.
I only just discovered it myself and starting to learn lua. Seems worth
it as it opens up a lot of possibilities without getting into the if is
evil issues.
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,170775,176154#msg-176154
More information about the nginx
mailing list