Lately, I experienced some freezes during night, which revealed to happen when a cron job rotated the apache logs and tried to restart httpd with an USR1 signal.
This makes Apache 2.0 run "internal dummy connection" sub-requests on its child processes:
127.0.0.1 - - [07/Apr/2007:04:07:39 +0200] "GET / HTTP/1.0" 200 8145 "-" "Apache/2.2.4 (Mandriva Linux/PREFORK-6mdv2007.1) (internal dummy connection)"
In my case, I use the Prefork MPM, and there were hundreds of sub-requests triggered in a few minutes, my home page being handled by blosxom and running a perl interpreter for each request... After a few minutes, this internal DoS made my box quite unresponsive, and never came back to normal (maybe there's also a bug in my 2.6.17 kernel).
A workaround has beeen to use a mod_rewrite rule to use static content for /, as suggested on the upstream ML and by other users:
RewriteEngine on RewriteCond %{HTTP_USER_AGENT} internal\ dummy\ connection RewriteRule ^/$ /static/style.css [L]
A solution is being worked at upstream, it could be using an OPTIONS * request instead of GET /, but it seems it has not been implemented yet...
Comments are closed for this story.
Trackbacks are closed for this story.