Forum Discussion
Brad_10289
Apr 05, 2012Nimbostratus
Thanks, Aaron. They are in a test virtual server/pool so I can experiment freely without affecting production.
I've now learned two things: First, periodically, the F5 can not reach the bad server directly, but then other times it can very easily, with no apparent reason for this. Even when F5 can't access the server by IP, other clients such as my PC have no problem. Second, it appears that when going through Virtual Host, it's F5 that opens the HTTP connection which means I was incorrectly assuming my traffic was reaching the bad server simply because a connection was established from my client, I'm just opening an HTTP connection with the F5. It seems as though the F5 then has trouble communicating with the server and eventually times out. I was able to confirm this by disabling all members in the pool and I would get the exact same response, only the connection would be closed instantly instead of timing out.
In any case, the results of the curl tests:
VIRTUAL HOST - ONLY BAD MEMBER ACTIVE
* About to connect() to XXX.XXX.XXX.147 port 80
* Trying XXX.XXX.XXX.147... connected
* Connected to XXX.XXX.XXX.147 (XXX.XXX.XXX.147) port 80
> GET / HTTP/1.1
> User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
> Host: XXX.XXX.XXX.147
> Accept: */*
>
* Empty reply from server
* Connection 0 to host XXX.XXX.XXX.147 left intact
curl: (52) Empty reply from server
* Closing connection 0
VIRTUAL HOST - ONLY GOOD MEMBER ACTIVE
* About to connect() to XXX.XXX.XXX.147 port 80
* Trying XXX.XXX.XXX.147... connected
* Connected to XXX.XXX.XXX.147 (XXX.XXX.XXX.147) port 80
> GET / HTTP/1.1
> User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
> Host: XXX.XXX.XXX.147
> Accept: */*
>
< HTTP/1.1 200 OK
< ETag: "0-87-4da6e91b"
< Content-Type: text/html
< Last-Modified: Thu, 14 Apr 2011 12:31:23 GMT
< Server: Oracle-Application-Server-10g/10.1.2.0.2 Oracle-HTTP-Server OracleAS-Web-Cache-10g/10.1.2.3.0 (G;max-age=0+0;age=0;ecid=3337039370360,0)
< Content-Length: 135
< Date: Thu, 05 Apr 2012 13:47:43 GMT
< Accept-Ranges: bytes
Connection 0 to host XXX.XXX.XXX.147 left intact
* Closing connection 0
DIRECT TO BAD MEMBER
* About to connect() to XXX.XXX.XXX.153 port 80
* Trying XXX.XXX.XXX.153...
(never times out)
later attempt with no known changes:
* About to connect() to XXX.XXX.XXX.153 port 80
* Trying XXX.XXX.XXX.153... connected
* Connected to XXX.XXX.XXX.153 (XXX.XXX.XXX.153) port 80
> GET / HTTP/1.1
> User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
> Host: XXX.XXX.XXX.153
> Accept: */*
>
< HTTP/1.1 200 OK
< ETag: "0-87-4bf15078"
< Content-Type: text/html
< Last-Modified: Mon, 17 May 2010 14:19:36 GMT
< Server: Oracle-Application-Server-10g/10.1.2.0.2 Oracle-HTTP-Server OracleAS-Web-Cache-10g/10.1.2.3.0 (G;max-age=0+0;age=0;ecid=4178853203493,0)
< Content-Length: 135
< Date: Thu, 05 Apr 2012 15:33:45 GMT
< Accept-Ranges: bytes
(I then attempted to connect to bad member through virtual server at same time I was able to connect directly and still unable to do so)
DIRECT TO GOOD MEMBER
* About to connect() to XXX.XXX.XXX.16 port 80
* Trying XXX.XXX.XXX.16... connected
* Connected to XXX.XXX.XXX.16 (XXX.XXX.XXX.16) port 80
> GET / HTTP/1.1
> User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
> Host: XXX.XXX.XXX.16
> Accept: */*
>
< HTTP/1.1 200 OK
< ETag: "0-87-4da6e91b"
< Content-Type: text/html
< Last-Modified: Thu, 14 Apr 2011 12:31:23 GMT
< Server: Oracle-Application-Server-10g/10.1.2.0.2 Oracle-HTTP-Server OracleAS-Web-Cache-10g/10.1.2.3.0 (G;max-age=0+0;age=0;ecid=3852435304296,0)
< Content-Length: 135
< Date: Thu, 05 Apr 2012 15:35:45 GMT
< Accept-Ranges: bytes