Fail-over active-passive using the secondary pool when it shouldn't



I have an issue after setting up fail-over. It has been setup according to as far as I can tell.

My current setup looks like this screenshot:

Session Affinity is turned off.

As soon as I enable the Failover-pool that web server starts getting parts of the traffic. It definitely is very far from 50%, but still a few requests per minute, while the Live pool probably gets ~50 requests per second.

The HTTP requests to the fail-over pool doesn’t even come in bursts, it’s an even small stream. Number of requests per minute according to the Apache log (excluding health checks):

#  dd/mmm/yyyy:hh:mm
3 [10/Feb/2019:06:00
4 [10/Feb/2019:06:01
1 [10/Feb/2019:06:02
4 [10/Feb/2019:06:04
3 [10/Feb/2019:06:06
3 [10/Feb/2019:06:07
2 [10/Feb/2019:06:08
1 [10/Feb/2019:06:09
2 [10/Feb/2019:06:10

Both pools have health checks and none of them are failing. It’s supposed to be an active-passive fail-over, using the pools in the order that they are listed right? Why is traffic sent to my second pool when the first one is enabled and working?

I have been using this setup for quite a while (1-2 years) and I believe these issues started ~2 months ago. Sadly I don’t store that old logs from my web server on the fail-over site, so I can’t say for sure. Otherwise I would have seen it on the number of requests per day.

The issue for me is that the fail-over site doesn’t serve the correct content. Imagining some of the AJAX requests just getting a “Site is offline” html response instead of the correct JSON, randomly. Or even worse as was my case. Callbacks from PayPal ended up on the wrong server and wasn’t handled, so my customer didn’t get what they paid for.


I did a request to the API method that lists load balancing events, user/load_balancing_analytics/events. Zero issues today mentioned, and yet it still sends client requests to my fail-over pool.


Have you confirmed this traffic is something other than simply the health checks against the origin?


Yes I have, I quote myself:

Number of requests per minute according to the Apache log (excluding health checks):

I hope I don’t sound like an a**hole, that isn’t my intention, I appreciate you trying to help out. I of course also see it on the requested URLs in the Apache log.

The fact that I found this was that I had customers doing payments via PayPal that didn’t trigger the sales in my system. That was because the Instant Payment Notifications callbacks went to the wrong servers. So, definitely, “normal” requests going to the wrong origin. The access log is full of both ajax requests and “standard” http requests (direct links).