Forum Discussion
8 Replies
- Kevin_StewartEmployee
I'm pretty sure that ANY HTTP response is enough to keep the monitor up.
- Theo_12742Cirrus
While it's not well documented, the HTTP monitor will accept any response (including 302's). However, you can control this behavior by using RegEx in the Receive String. For example, I use the following (and use HTTP >= 1.0):
^HTTP.1\.[0|1]\s([2|3][0-9][0-9])
Which marks the monitor as up for any HTTP code 200-399.
- john4665f5NimbostratusHello Theo, Thank you for the response. I've tested a 302 response and the node was marked down, but a 301 works just fine. I didn't get a chance to look further into like the bigd debugs, but I wonder if it was because the response was "302 Found" instead of a typical 302 temporary redirect. Just to clarify the reason for this question is not how to make the node available, I can modify the send/recv strings in a child monitor to pass the host header, 302, etc. and mark it up, but just curious as to what the default expected responses are. Thank you, John
- Theo_12742CirrusIf that's the case, then I'll point you to the LTM monitors reference (https://support.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/ltm-monitors-reference-11-5-0/3.htmlunique_475041279): "Note: If you do not specify both a Send String and a Receive String, the monitor performs a simple service check and connect only."
- john4665f5NimbostratusHello Theo, The default http monitor has a send string configured by default, so there is a send string, but no "recv" string. Based on that documentation the http monitor check is essentially a TCP monitor. Maybe I should contact F5 directly to find this answer. Thank you, John
- Kevin_StewartEmployee
At a minimum the default HTTP monitor send string is too simple. Change it to the following more specific string and you should see a difference:
GET /redir.php HTTP/1.1\r\nHost: foo\r\n\r\n
Obviously change the URI as required.
- Kevin_StewartEmployee
Take a look at these references:
https://support.f5.com/kb/en-us/solutions/public/11000/300/sol11359.html?sr=53330875
https://support.f5.com/kb/en-us/solutions/public/3000/200/sol3224.html
And most important: https://support.f5.com/kb/en-us/products/lc_9_x/manuals/product/lc-monitors-reference-11-6-0/1.html?sr=53331011
You can also use the default null Receive String value [""]. In this case, any content retrieved is considered a match. If both the Send String and Receive String fields are left empty, only a simple connection check is performed.