Bug 57073 - Intermittent Connection Issues using default httpd.conf configuration
Summary: Intermittent Connection Issues using default httpd.conf configuration
Status: NEW
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: mpm_winnt (show other bugs)
Version: 2.4.9
Hardware: PC All
: P2 critical (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
Depends on:
Reported: 2014-10-09 12:30 UTC by Scott Pakula
Modified: 2014-10-25 11:51 UTC (History)
1 user (show)


Note You need to log in before you can comment on or make changes to this bug.
Description Scott Pakula 2014-10-09 12:30:05 UTC
When running Apache 2.4.9 for Windows in a high latency environment (e.g. 100 - 200ms of latency) and using Internet Explorer 9/10/11, the web server will occasionally refuse to accept connections for a period of time, making it seem that the web server is down.

I have been running the same Apache 2.4.9 server in a low latency environment (e.g. <1ms latency) and am not able to replicate the behavior.

The current work around to this issue is to use the following configuration:

AcceptFilter http none

This has been reported by other sources online such as:

Comment 1 Mohamed AMAZIRH 2014-10-25 11:50:06 UTC
We had the same problem at work and we used the "AcceptFilter http none" workaround to solve it.

The problem can be reproduced easily by opening a connection to an Apache (for example by using telnet). As long as the connection is open without any data sent, the server hangs and everybody can't connect to it.

Steps I used to reproduce this outside work :
1) Create a Windows 2008 virtual machine (in my case 64bit Win2008 Standard on VirtualBox)

2) Download httpd binaries from here : https://www.apachelounge.com/download/win32/binaries/httpd-2.4.10-win32-ssl_0.9.8.zip

3) (Without changing the default configuration) Start httpd on the VM

4) From the vm or another machine connected to same network, connect to the httpd server with telnet (from windows : telnet httpd_address port_number), but dont send any data (dont type anything on the telnet terminal)

5) Type in the address of the server in a web browser. You'll see that the browser is trying to load the page but it remains stuck for a long time (as long as no data is sent from the open telnet connection)

6) wait for more than 20 seconds to be sure (you can also try loading the website from different tabs or windows)

7) Go back to the open telnet connection and type something (+ ENTER) to send data to the server (or kill the telnet process to close the connection)
8) Go back to the browser and you'll see that the page that was stuck loading, now is loaded (the moment you did step 7)

Now add "AcceptFilter http none" to httpd's configuration file then restart :  the server behaves normally.

I hope this information will help someone resolve this bug.