upstream: ip_hash and backup
John Moore
jmsd.co.uk at gmail.com
Thu Jun 30 23:31:35 MSD 2011
On 30/06/11 19:49, Maxim Dounin wrote:
> Hello!
>
> On Thu, Jun 30, 2011 at 07:35:24PM +0100, John Moore wrote:
>
>
>> I'm using the upstream module to load balance between 2 back-end
>> servers, using ip_hash to effect a kind of 'stickiness' (making it
>> more likely that subsequent requests from the same client will go to
>> the same back-end server). Now I want to add a 3rd back-end server
>> into the mix, but which will only come into play if the other 2 are
>> failing. There's a handy 'backup' parameter I can use for this,
>> except that according to the docs it cannot be combined with the
>> ip_hash directive. I'm wondering whether there is some other way to
>> achieve what I want here? Effectively, the ip_hash becomes
>> irrelevant once it's failed over to this backup server as there is
>> only one.
>>
> Use error_page based fallback instead, i.e. something like this:
>
> upstream backends {
> ip_hash;
> server 10.0.0.1;
> server 10.0.0.2;
> }
>
> upstream backup {
> server 10.0.0.3;
> }
>
> server {
> ...
>
> location / {
> error_page 502 504 = @fallback;
> proxy_pass http://backends;
> }
>
> location @fallback {
> proxy_pass http://backup;
> }
> }
>
>
>
That's just what I need, thanks. Is this dependent on some recent
version of nginx? I'm running 0.7.65.
John
More information about the nginx
mailing list