Upstream "Sticky Connections?"

Hello Everyone,

We are currently using Nginx 1.2.1 to terminate SSL and to load balance
between two JBoss servers.

Here is my upstream block:

upstream jboss_servers {
ip_hash;
server 192.168.1.100:8080;
server 192.168.1.101:8080;
}

The issue we’re having is such – When a user is connected to Nginx,
Nginx will proxy the connection to one of the two backend servers, for
example 192.168.1.100. If we take that server offline (by stopping
JBoss) the user is directed to the 192.168.1.101 server and their
session is broken, requiring them to login again. We understand and
accept this.

However, when server 192.168.1.100 is brought back online, Nginx is then
redirecting their session back to that server, breaking their session
and requiring them to login yet again.

Is there a directive I can use to prevent this behavior? I’ve seen this
referred to in other places as sticky sessions, does Nginx support a
similar method?

Posted at Nginx Forum:

2012/7/18 mevans336 [email protected]

ip_hash;

However, when server 192.168.1.100 is brought back online, Nginx is then
redirecting their session back to that server, breaking their session
and requiring them to login yet again.

Is there a directive I can use to prevent this behavior? I’ve seen this
referred to in other places as sticky sessions, does Nginx support a
similar method?

you can look at this module:
http://code.google.com/p/nginx-sticky-module/

Thank you Jérôme.

Our previous load balancers (Kemp Loadmasters) used the cookie method
and it worked out well. We don’t currently build Nginx from source
however, but rather we use the Ubuntu apt packages, so it would require
a little work on our side to change this.

If anyone has suggestions that are native to Nginx, I would like to hear
those as well.

Cheers,

Matt

Posted at Nginx Forum: