Forum Discussion
HTTP Health Monitor Failing, Not Sure Why
I tried creating a custom http health monitor for one of our applications with a simple SEND and RECIEVE configuration.
Send String: GET /application/URI/resource.ascx \r\n
Receive String: HTTP/1.1 200 OK \r\n
I switched the appropriate pool to use this new monitor and it marks the pool members down.
I checked the web logs on these apps servers and I can see them responding to the LTM with a 200 OK.
I also ran a curl from the LTM to test manually and I get the appropriate response: HTTP/1.1 200 OK
I don't really know why it's not working, it seems like this should be the correct receieve string.
Any idea's on something else to try?
Thanks!
Can you make a simple change and let us know if it fixes,
Send String: GET /application/URI/resource.ascx HTTP/1.1\r\nHost: www.domain.com\r\nConnection: Close\r\n\r\n
Receive String: "200 OK"
- iaineNacreous
Hi
You're not sending your request string as a HTTP/1.1 formatted string but you're receive string is looking for a 1.1 response - there' a great KB article on this - https://support.f5.com/csp/article/K2167 - that goes into great detail on http monitors with good examples.
Also, you can enable logging on your monitor to understand what is happening, see https://support.f5.com/csp/article/K12531 for more info on how to do this
- HamishCirrocumulus
Generally that won't be an issue. Except for the HTTP/0.9 request... (i.e. A lot of servers will reply 1.1 if you ask them a 1.0 request - even if it is technically out of spec)
Change your request to at least HTTP/1.0 i.e.
GET /application/URI/resource HTTP/1.0\r\n\r\n
And make sure your server really does reply with HTTP/1.1 and not HTTP/1.0. if you do require an HTTP{/1.1 request you (should) have to add a few headers to make a real request. HTTP/1.1 made several of them 'mandatory'
But like iaine said. Enable debug to see what is being compared. It's likely something small and 'obvious' once you've identified it
Can you make a simple change and let us know if it fixes,
Send String: GET /application/URI/resource.ascx HTTP/1.1\r\nHost: www.domain.com\r\nConnection: Close\r\n\r\n
Receive String: "200 OK"
- nick_greenfieldAltostratus
Thank you all for the suggestions, I am going to try this and let you know!
How did it go. Was this resolved.
- nick_greenfieldAltostratus
Thank you all for the help, adding HTTP 1.1 and the Host: parameter fixed the issue.
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com