F5 HTTP Health Check Monitors (error/status codes)

There are so many ways to do this but below are some examples and will help get started.

Types of HTTP Error and Status Codes:
100-199: informational status
200-299: success status
300-399: redirection status
400-499: client errors
500-599: server errors

Send String: Just some quick examples
1.0:
HEAD / HTTP/1.0
GET /index.html HTTP/1.0\r\n\r\n
POST /form.cgi HTTP/1.0\r\n\r\nFirst=Kerry&Last=Cordero

1.1: For HTTP 1.1 requests, the Host header is required:
HEAD /dev/weberv1 HTTP/1.1\r\nHost: cordero.me\r\nConnection: Close\r\n\r\n
GET /index.html HTTP/1.1\r\nHost: host.cordero.me\r\nConnection: Close\r\n\r\n
POST /form.cgi HTTP/1.1\r\nHost: host.cordero.me\r\nConnection: Close\r\n\r\nFirst=Kerry&Last=Cordero

Receive String: Just some quick examples
HTTP/1\.[01] [23]0[0-6] Accepts 200-206 and 300-306 – everything else like 4xx and 5xx results in a non-matching value and will fail the check
HTTP/1.[01] [2]0[0-6] Accepts only 200-206 – same as above but accepts only 200’s

Example:
Send:
HEAD / HTTP/1.0

Receive:
HTTP/1\.[01] [23]0[0-6]

Basically, what this is doing is checking for HTTP status/error codes. When a 4xx or 5xx error code is detected, the monitor will detect it and pull that node out of the pool. When it detects it’s back to 200, it will put it back in.

More Stories
Windows Powershell giving “execution of scripts is disabled” error