Parece (difícil dizer com certeza sem mais informações) que a persistência não é totalmente implementada na sua configuração do Apache para o balanceador de carga. Dê uma olhada na seção Stickyness do Load Balancer na documentação do Apache para mod_proxy_balancer .
The balancer supports stickyness. When
a request is proxied to some back-end,
then all following requests from the
same user should be proxied to the
same back-end. Many load balancers
implement this feature via a table
that maps client IP addresses to
back-ends. This approach is
transparent to clients and back-ends,
but suffers from some problems:
unequal load distribution if clients
are themselves hidden behind proxies,
stickyness errors when a client uses a
dynamic IP address that changes during
a session and loss of stickyness, if
the mapping table overflows.
The module mod_proxy_balancer
implements stickyness on top of two
alternative means: cookies and URL
encoding. Providing the cookie can be
either done by the back-end or by the
Apache web server itself. The URL
encoding is usually done on the
back-end.
A partir dessa documentação, está o seguinte exemplo:
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
<Proxy balancer://mycluster>
BalancerMember http://192.168.1.50:80 route=1
BalancerMember http://192.168.1.51:80 route=2
ProxySet stickysession=ROUTEID
</Proxy>
ProxyPass /test balancer://mycluster