2

I'm sporadically getting Apache 70007 timeout errors from (I think) Perl CGI scripts. I thought the problem was my scripts were exceeding the Apache's TimeOut value, but I wrote a sleep script that gives a different error on Apache timeout.

Can anyone shed some light on this error?

--- My test ---

[Mon May 13 13:46:45 2013] [warn] [client X.168.X.43] Timeout waiting for output from CGI script /var/www/cgi-bin/sleep.pl [Mon May 13 13:46:45 2013] [error] [client X.168.X.43] Premature end of script headers: sleep.pl

--- Actual error ---

[Mon May 13 13:46:52 2013] [error] [client X.182.X.175] (70007)The timeout specified has expired: Error reading request entity data [Mon May 13 13:47:00 2013] [error] [client X.0.X.27] (70007)The timeout specified has expired: Error reading request entity data

slm
  • 9,959
  • 10
  • 49
  • 57
Tim Nelson
  • 121
  • 3

3 Answers3

0

Every time we saw this, but this error is from the database which queries are running behind it, either its indexing is not done properly or that query is slow, please check the error will never come again

0

You may see these if someone is running a pentest scan against the host. The scanner is disconnecting the request before the server has a chance to respond. The pentest scanners typically have a short timeout so they can continue to the next attack URL.

regulatre
  • 470
  • 1
  • 6
  • 18
0

It sounds like your TimeOut value is too small. It should be set to at least 30.

Nathan C
  • 2,692
  • 1
  • 16
  • 25
  • TimeOut actually defaults to 60, but as you see I tried to induce the timeout error by sleeping 120 and I get a different error. This clearly points out TimeOut does not induce the 70007 it induces premature end of script. – Tim Nelson May 15 '13 at 19:38
  • In fact even if I set $| = 1 so that the response header is sent I don't get the 70007, so it must be something else. – Tim Nelson May 15 '13 at 19:45