Chromes keep-alive packets seem to block Apache from answering all requests from other clients. They do not appear in the access log nor in mod_status and the browsers keep waiting for an answer. This happens no matter if keep alive is enabled or disabled in Apache.

This only happens when the client is on another network, which seems to be related to a Chrome feature to keep the connection alive behind NAT gateways/firewalls. From browsers on the server machine, I can always access pages on Apache, even when clients on the the second network are blocked.

On this Wireshark screen you can see an example of what happens on the server when the requests are blocked by Chrome: Chrome started

When I close the Chrome instance, Apache resumes answering the requests received before and that's when they appear in the access log. Chrome closed

When I refresh the page in Chrome, sometimes the other requests are also answered.

Is this an Apache bug or a misconfiguration? Or can it be caused by a network configuration?


  • Apache: 2.4.20 x64 VC14
  • PHP: 7.0.5 TS x64 VC14
  • Windows Server 2012 R2

The bug is fixed since I've updated to Apache 2.4.25 x64 VC14.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.