Forum Discussion
astokes_6920
Nimbostratus
Nov 10, 2009HTTP monitor with HEAD, not GET
While using the following monitor, I'm finding that the web servers are keeping TCP sessions in the TIME_WAIT state, rather than closing them outright.
GET /serverin.html HTTP/1.1\r\nCo...
hoolio
Cirrostratus
Nov 10, 2009I thought the Connection header is a suggestion to the destination host that the sender doesn't intend to reuse the TCP connection. I think it might be up to the recipient to close the TCP connection. RFC2616 doesn't seem to state this clearly, but I've read it other places:
http://www.jmarshall.com/easy/http/http1.1s4
If a request includes the "Connection: close" header, that request is the final one for the connection and the server should close the connection after sending the response.
Also, the monitoring daemon, bigd, may append one or more CRLF's to the end of the send string in HTTP/S monitors depending which LTM version you're using. This is described in SOL2167:
SOL2167: Constructing HTTP requests for use with the HTTP or HTTPS application health monitor
https://support.f5.com/kb/en-us/solutions/public/2000/100/sol2167.html
If you're on 9.4 or higher, can you remove the two \r\n's from the end of the send string and see if the connections are still left open for the full TIME_WAIT period?
I don't think using HEAD instead of GET will change the LTM or server behavior. That would also limit you to checking only the response headers (the server won't respond with a payload to a HEAD request.
If this still doesn't work after fixing the CRLF's, can you clarify what type/version of OS the server is?
Aaron
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* 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
Discover DevCentral Connects
