Forum Discussion

lipos_54863's avatar
lipos_54863
Icon for Nimbostratus rankNimbostratus
May 18, 2009

Receive String problem

Hi,

 

I'm trying to create a regular monitor that would monitor a website with:

 

Send String: GET / HTTP/1.0

 

Receive String: Welcome Page

 

When I do telnet "IP of the Node" 80, I get text that is including "Welcome Page" string, but the monitor seems to be down.

 

When I use a Receive String of "div" the monitor goes up.

 

Is there something wrong with formatting of the Receive String for my request?

 

I guess the configuration should be pretty straightforward, but still I'm stuck.

 

I tried GET /Default.aspx HTTP/1.1 with similar recieve strings and still nothing.

 

 

Also, if I use my default monitor of:

 

Send String: GET / HTTP/1.0

 

Receive String: 200 OK

 

 

Everything works well, but I need to monitor some text from the website.

 

 

Any ideas?

13 Replies

  • 1- Ok i did enable debug can when put 200 in receive string without any inverted commas virtual server comes up below is what i can see in debug

     

    17:07:53.845091: (_recv_active_service_ping): addr=::ffff:10.2.110.164:80 send=GET / HTTP/1.1

     

    Host:

     

    Connection: Close

     

    regexp=200 recv=HTTP/1.1 400 Bad Request

     

    Content-Type: text/html

     

    Date: Thu, 30 Jul 2009 07:10:14 GMT

     

    Connection: close

     

    Content-Length: 42

     

    *****************************

     

    2- Now when i replace 200 with DMZ below is what debug looks like, note at this stage virtual server is down. Cant see any string coming back.

     

    17:10:13.180514: (_main_loop): time to ping addr=::ffff:10.2.110.164:80 pending=0

     

    17:10:13.180559: (_send_active_service_ping): addr=::ffff:10.2.110.164:80

     

    17:10:13.180578: (_connect_to_service): creating new socket for addr=::ffff:10.2.110.164:80

     

    17:10:13.180633: (_connect_to_service): addr=::ffff:10.2.110.164:80 connect: Operation now in progress

     

    17:10:13.182033: (_main_loop): wfd selected for addr=::ffff:10.2.110.164:80 pending=1

     

    17:10:13.182057: (_send_active_service_ping): addr=::ffff:10.2.110.164:80

     

    17:10:13.182089: send_active_service_ping: addr=::ffff:10.2.110.164:80 writing GET / HTTP/1.1

     

    Host:

     

    Connection: Close
  • The app is sending a 400 error indicating a bad request. I'd guess it doesn't like the empty host header. It might also be an issue with the carriage return / line feeds on the monitor. You could try configuring the actual host header value the server expects in the send string and experiment with one or two \r\n's at the end:

     

     

    GET / HTTP/1.1\r\nConnection: Close\r\nHost: \r\n

     

     

    GET / HTTP/1.1\r\nConnection: Close\r\nHost: \r\n\r\n

     

     

    GET / HTTP/1.1\r\nConnection: Close\r\nHost: actualhost.example.com\r\n

     

     

    GET / HTTP/1.1\r\nConnection: Close\r\nHost: actualhost.example.com\r\n\r\n

     

     

    Once you get a 200 OK response, the pool member(s) will be marked up and the VIP will process requests.

     

     

    Aaron