Pool round Robin not working with standard virtual server
I have a standard HTTPS virtual server configured with two nodes in the pool. There is no persistence setting enabled and the load balancing method is round robin.
For some reason, after I browse to the site and establish a connection with a backend server in the pool, all my future requests go to the same server and it behaves in a way that indicates some persistence is enabled. For example, when I refresh my browser, open the site in a new browser, and open the site in an incognito browser, all my requests keep going to the same node. You can see below that I tried this multiple times and kept getting connected to one server and the number of connections on that server was increasing.
According to my research, because there is no persistence profile setting, the load balancing method is round robin, and both servers are available and able to accept traffic, every time I refresh or open the site in a new tab or browser, I should be randomly assigned to a server for that connection via round robin load balancing. But this is not what I observe.
Is there a reason that my virtual servers are showing persistence by default? Any ideas?
Here are some images of my config:
The reason you're having this issue is most likely because of the following entry in your iRule.
catch { persist uie [HTTP::header "X-Forwarded-For"] 1800 }
That entry will always apply UIE persistence based on the HTTP header "X-Forwarded-For" so you then get bound to the same pool member all the time.