Forum Discussion

adrian_171483's avatar
Dec 05, 2014

http monitor failed

Trying to go from Cisco ACE to F5.. cannot get this monitor to work on the F5 ..

 

A simple soultion would be wonderful.. I think the server responds with some kind of rediect 303.

 

The Cisco was fine .. the F5 doesnt like it !

 

please keep any suggestions VERY simple, I am new to F5.. and so far everything slightly beyond standard things seem to be a massive complexity with the F5

 

probe http blah blah interval 20 passdetect interval 5 receive 2 request method get url /asad/adaasdfas/!asdfasd?pyActivity=Code-Security.EndSession&pzAuth=guest expect status 200 399

 

Many thanks

 

Adrian

 

  • If you use HTTP/1.1, the Host: header is required. You can try a simple GET request without an HTTP version and so on, but some web servers won't like it. My recomendation would be to include HTTP version, include the Host header, and also send a connection close.

     

    Send:
    GET /asad/adaasdfas/!asdfasd?pyActivity=Code-Security.EndSession&pzAuth=guest HTTP/1.1\r\nHost: hostname\r\nConnection: close\r\n\r\n

    If you want to match anything between 200 and 399 as a response, you will need to use a regular expression in the receive string. My recommendation would be to use a request that produces a consistent result so you don't have to guess.

     

    Receive:
    [23][0-9][0-9]
  • Your HTTP monitor should look something like this:

     

    GET /asad/adaasdfas/!asdfasd?pyActivity=Code-Security.EndSession&pzAuth=guest HTTP/1.1\r\nHost:(if required) \r\n\r\n

    Then look for 200 in response field

     

    • adrian_171483's avatar
      adrian_171483
      Icon for Cirrus rankCirrus
      Hi, Really sorry as youve been good enough to reply.. i just dont get why all the guff on the end is required.. surley a simple GET and response between 200 and 399 is fine as it was before. I just cannot find any simple solutions to a simple requirement with F5..
  • If you use HTTP/1.1, the Host: header is required. You can try a simple GET request without an HTTP version and so on, but some web servers won't like it. My recomendation would be to include HTTP version, include the Host header, and also send a connection close.

     

    Send:
    GET /asad/adaasdfas/!asdfasd?pyActivity=Code-Security.EndSession&pzAuth=guest HTTP/1.1\r\nHost: hostname\r\nConnection: close\r\n\r\n

    If you want to match anything between 200 and 399 as a response, you will need to use a regular expression in the receive string. My recommendation would be to use a request that produces a consistent result so you don't have to guess.

     

    Receive:
    [23][0-9][0-9]