You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2014/09/09 16:19:35 UTC

[Bug 56935] New: TIMEOUT used instead of KeepAliveTimeout when header "connection : keep-alive" is not used

https://issues.apache.org/bugzilla/show_bug.cgi?id=56935

            Bug ID: 56935
           Summary: TIMEOUT used instead of KeepAliveTimeout when header
                    "connection : keep-alive" is not used
           Product: Apache httpd-2
           Version: 2.4.4
          Hardware: PC
                OS: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Core
          Assignee: bugs@httpd.apache.org
          Reporter: frederic.roudaut@orange.com

I use a special client (a proxy may have such behavior also) that handles
HTTP/1.1 persistent connection. I use the default configuration on Apache 2.4.4

It does not use the dedicated header "connection : keep-alive". As a
consequence, by default the persistent connection is used. My client also keeps
the TCP connection alive by using TCP keep-alive. I notice that the server
never closes the TCP connection after 5s of HTTP inactivity (KeepAliveTimeout).
I have to wait the 300s timeout (key TIMEOUT). 

According to the Apache documentations it seems that this connection should
have close after no KeepAliveTimeout of HTTP Activity. I believe that the
server considers the TCP Keepalive packet as HTTP message and then waits
TIMEOUT instead. Thus it gives an easy scheme to consume Apache resources.  

For information my TCP keepalive are quite basic : only One byte of data set to
0.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


[Bug 56935] TIMEOUT used instead of KeepAliveTimeout when header "connection : keep-alive" is not used

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56935

--- Comment #2 from Frederic Roudaut <fr...@orange.com> ---
Created attachment 31982
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=31982&action=edit
dump showing the pb ? The only dump I currently have ...



My timeout is 115s 
Apache keepalivetimeout is set to 5s. timeout is 300s
Client IP is 172.18.1.20
Server IP is 172.18.15.15.

We can have a look to exchange on port 54464 for example.
We can see the TCP handshake, some TCP keealive after ... no HTTP request is
done and finaly my client closes the TCP connexion after 115s. Timeout (300s)
will apply here and not keepalivetimeout (effectively) because no request has
been done. Indeed my previous comment was false. I am not sure now I have met
similar problem after one HTTP request.

Nevertheless, it seems then possible to consume quite easily resources on
Apache just by opening handshake and maintening a TCP keepalive for 300s. But
perhaps you consider the problem is similar if you do request and request for
300s. If this is the case, please, reject this issue .

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


[Bug 56935] TIMEOUT used instead of KeepAliveTimeout when header "connection : keep-alive" is not used

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56935

Eric Covener <co...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEEDINFO                    |RESOLVED
         Resolution|---                         |INVALID

--- Comment #3 from Eric Covener <co...@gmail.com> ---
"We can see the TCP handshake, some TCP keealive after ... no HTTP request is
done and finaly my client closes the TCP connexion after 115s."

Since you're not in keepalive, you have to use Timeout or mod_reqtimeout to
control this.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


[Bug 56935] TIMEOUT used instead of KeepAliveTimeout when header "connection : keep-alive" is not used

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56935

Eric Covener <co...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |NEEDINFO

--- Comment #1 from Eric Covener <co...@gmail.com> ---
Can you share a binary packet capture to illustrate?  Not clear you're actually
in keepalive.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org