Summary: | Intermittent Connection Issues using default httpd.conf configuration | ||
---|---|---|---|
Product: | Apache httpd-2 | Reporter: | Scott Pakula <pakulas> |
Component: | mpm_winnt | Assignee: | Apache HTTPD Bugs Mailing List <bugs> |
Status: | NEW --- | ||
Severity: | critical | CC: | m.amazirh |
Priority: | P2 | ||
Version: | 2.4.9 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All |
Description
Scott Pakula
2014-10-09 12:30:05 UTC
Hi, 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. |