HTTP error 500 in F5 Health Checks
A feature of F5 balancers is that they can pull individual destinations out of a pool when they respond incorrectly. One case is HTTP, where the service may work, i.e., connections are allowed and served on port 80/TCP, but the application responds incorrectly, for example with a 40X or 50X code.
F5 periodically queries each server in the pool, and in the default check it only checks if some content some content (whatever it is) is returned and that the port is open. To detect errors like 500 Internal Server Error, and to stop using those pool members, we need to create a new health check.
Create the health check
Local Traffic
->Monitors
Name
->check_500
Type
->HTTP
Receive String
->HTTP/1.[01] [23]0[0-6]
Install the monitor in the pool
Local Traffic
->Pools
->Pool List
Configuration
->Basic
- Select the monitor from the available list and move it to the selected list.