Forum Discussion

nick_greenfield's avatar
nick_greenfield
Icon for Altostratus rankAltostratus
Jun 18, 2019

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"

     

    • Hamish's avatar
      Hamish
      Icon for Cirrocumulus rankCirrocumulus

      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"