Forum Discussion
Monitor when set HTTP server shows down but when I set it to TCP it works
Monitor when set to HTTP server shows down but when I set it to TCP it works? why so? For Ex. server node. 10.1.1.1 port 80
- wlopez_98779
Nimbostratus
The tcp monitor is a layer 4 health monitor. It only checks that it can establish a tcp connection against the pool member.
The http monitor is a layer 7 health monitor. It does an http request (HTTP GET) against the pool member and expects an http response.
In essence the pool member is probably accepting new connections on port 80 but is not responding http requests.
- AceDawg1
Nimbostratus
In addition, can you verify if there is/isn't a firewall between the F5 and the pool member(s)? I've seen properly configured systems without the appropriate firewall policies to allow the traffic through.
- wlopez
Cirrocumulus
The tcp monitor is a layer 4 health monitor. It only checks that it can establish a tcp connection against the pool member.
The http monitor is a layer 7 health monitor. It does an http request (HTTP GET) against the pool member and expects an http response.
In essence the pool member is probably accepting new connections on port 80 but is not responding http requests.
- AceDawg1
Nimbostratus
In addition, can you verify if there is/isn't a firewall between the F5 and the pool member(s)? I've seen properly configured systems without the appropriate firewall policies to allow the traffic through.
- Sankar_Goud_296
Nimbostratus
Hi GLM, By default the http monitor send the string /\r\n to probe the server and expects standard code like 200 or 404 etc. If the server is not giving any of the codes something like Empty then the pool mark node down.
Use this command in bash curl -v http://10.1.1.1:80/\r\n and you will see * Empty reply from server. So verify the Webserver settings on the configured webservices.
- jaikumar_f5
Noctilucent
IF this is still an open item, pls share us the below results,
- The http monitor set on the pool.
tmsh list ltm monitor http
- Do a curl.
curl -kv http://:/monitor/bigip.html
Here /monitor/bigip.html is just an example, you should replace it with your send string path, whichever you have set.
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