jean-frederic clere wrote:


Hmm, "nofailover=On" is used for non-matched routes.

The failover stuff is between the members of a balancer not between balancers.


Not true.

? In find_route_worker(proxy_balancer *balancer...)

nofailover == sticky_force

<snip>
   runtime = find_session_route(*balancer, r, &route, url);
   if (runtime) {
      ...
   }
   else if (route && (*balancer)->sticky_force) {
        ...
        return HTTP_SERVICE_UNAVAILABLE;
    }
</snip>

So it means that if route doesn't match the runtime
will be NULL. However if there is route *and* nofailover=On
return HTTP_SERVICE_UNAVAILABLE.

By default (nofilover=Off) it will match the URI which might
lead to a different balancer or node.

nofailover is used to return 503 in case there is miss matching
route (session affinity mark), and it's actually a sticky_force,
and you cannot have a sticky_force and cross instance sessions
without session replication (thus you don't need route)

Regards,
Mladen.

Reply via email to