Hi Terry,
It shouldn't make much of a difference whether you use a TCP or an HTTP monitor as long as you send an HTTP request. Why don't you try using an HTTP monitor configured as cmbhatt has suggested? You shouldn't need to associate it with a node. You'll want to use it to check the health of each pool member. So it makes sense to add the HTTP monitor to the pool.
The only change I'd suggest is using \r\n for new lines. RFC2616 states that the header delimiter is a CR LF not just a LF:
ftp://ftp.rfc-editor.org/in-notes/rfc2616.txt
HTTP/1.1 defines the sequence CR LF as the end-of-line marker for all
protocol elements except the entity-body (see appendix 19.3 for
tolerant applications). The end-of-line marker within an entity-body
is defined by its associated media type, as described in section 3.7.
CRLF = CR LF
If the web server isn't configured to select the correct web app by host header value, you can probably just configure the send string without the value:
GET /check.html HTTP/1.1\r\nHost: \r\nConnection: close\r\n
Also, the monitor daemon, bigd, appends one or two \r\n's to the end of the send string depending on version. So you probably only need to explicitly add one.
If this doesn't work, try checking the server access/error logs to see what it thinks is happening with the request. You can also enable debug on bigd by running 'b db bigd.debug enable' from the command line. Output is written to /var/log/bigdlog. Make sure to turn off the debug using 'b db bigd.debug disable' once you're done testing as it is very verbose and can eat up a lot of disk space.
Aaron