Forum Discussion
Difference between health monitor using "http" and "tcp port-80"
Folks,
The use case I have is we have a pool configured with 2 nodes in it and has the health monitor set as http. There was some testing going on on one of the nodes and the pool was showing as down. On the second node, however port 80 was responding to telnet and I was also able to get the webpage from the second node.
Question is, how can we technically explain the difference while configuring a health monitor as "http" and as "tcp-port 80". What could be the reason that the pool was up when I switches over to TCP-80?
http should be a protocol working on port 80 and providing some additional service like a HTTP get 200 which I was receiving.
Regards, Nik
3 Replies
- JG
Cumulonimbus
Simply put, HTTP runs over TCP, and sucessful access on the TCP layer does not mean HTTP works as well, as is shown in your case.
- nitass
Employee
how can we technically explain the difference while configuring a health monitor as "http" and as "tcp-port 80". What could be the reason that the pool was up when I switches over to TCP-80?
i guess no send/recv string is configured in tcp-port 80 monitor, isn't it? if yes, tcp-port 80 monitor does not check response but http monitor does.
Troubleshooting Ltm Monitors by Aaron
sol3224: HTTP health checks may fail even though the node is responding correctly
- Kevin_Stewart
Employee
To amplify Jie's comments, an HTTP monitor is a TCP three-way handshake and then the transmission and reception of HTTP (protocol) messages. The monitor configuration itself allows for some significant flexibility in the layer 7 messages you can send and in what you expect to receive. A TCP monitor is really nothing more than the three-way handshake - in your case on port 80. It doesn't by default check anything more than the NETWORK status of the remote server, while the HTTP monitor is checking both the network and application layers of the remote server. You can, technically, send and receive HTTP messages with Telnet using a scripted monitor, which would make it functionally equivelant to an HTTP monitor, but the built-in monitor is going to be easier to use.
Recent Discussions
Related Content
* 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