Solution:
This is certainly something hard to debug, occasional bugs are the worst ones 🙂
My first thoughts were “internal dumy connections” related issues, but that would not show you an IE8-beta signature in access.log.
So I found three links that you may investigate:
- A serverFault intermittent 403 problem, related to mod_negotiation and SSI
- Another serverFault intermittent 403, related to MaxClients reached, check that you do not reach MaxClients when that error appears.
- A deep analysis of intermittent 403 related to mod_cache
From that I think this kind of problem is a little like drug interactions. So the first thing to do is:
- Check the modules loaded in your apache configuration and remove (comment Load lines) the ones you do not need at all (and you will have a faster Apache if you never did it before!).
- Build a test environment, for modules that you are still using in production (where removing it would make your application crash). You’ll need to be able to reproduce the bug with
wget
orab
or any other massive HTTP requests tool. - try to inactive modules, one by one, until the problem disappears.
Modules that usually make strange behaviors are:
- mod_negotiation (with the related
Option Multiviews
). Apache is then trying to serve alternate files, after a negociation with the browsers headers. That may break your RewriteRules or interact badly with other modules. That usually lead to some unattented responses to malformed queries, I always remove that module. - mod_include : Server Side Includes (with related
option Includes
), also known as SSI. Who really needs that? - mod_cache & mod_disk_cache , really, that’s a very old school things, you’d better try using Varnish or any other reverse proxy caches
- mod_rewrite: the swiss knife, but are you sure you didn’t wrote a very strange Rule somewhere?
- mod_dir : check you do not have
DirectorySlash Off
, that may interact badly with some other module doing strange things - mod_isapi : reading the doc may lead you to some hints. For me I have the feeling this is an experimental support, on heavy load I’m quite sure strange things could happen.
- mod_proxy : remove it if you do not need it
UPDATE: (after configuration details) Reading your configuration I saw several little mistakes (unrelated):
<Directory />
I don’t think this will work on Windows, as your root is c: not /. But I’m maybe wrong. At least you do not need anallow from all
here, quite unsecure.- If you do not use .htaccess files set the
AllowOverride None
everywhere, especially in a<Directory "C:">
, to avoid seeking for theses files from the root directory.
Now for your problem. I do not see any mod_cache related option in your configuration (but maybe you have some included files in subdirectories of apache configuration that use mod_cache directives. If you do not use any of the mod_cache directives you can suspend that module without any risk.