richie
richie

Reputation: 2478

Set mod_reqtimeout to unlimited time for a specific folder

I basically have two questions:
How do you set the RequestReadTimeout (in mod_reqtimeout), header and body time to: unlimited time
and
How do I apply that to a specific folder?

The default reqtimeout.conf is:

<IfModule reqtimeout_module>
  RequestReadTimeout header=10-20,minrate=500
  RequestReadTimeout body=10,minrate=500
</IfModule>

So that it would be something like:

<IfModule reqtimeout_module>
  #Apply this to the /var/www/unlimitedtime folder
  <Directory /var/www/unlimitedtime>
    RequestReadTimeout header=unlimited,MinRate=0 body=unlimited,MinRate=0
  </Directory>
</IfModule>

This doesn't work but it's just an example that maybe will make my question more clear.

Thx

Upvotes: 4

Views: 11073

Answers (1)

regilero
regilero

Reputation: 30536

Several tips from official documentation of top RequestReadTimeout :

Context: server config, virtual host

That means this directive is a quite high level directive, you do not have the Location or Directory context here. In fact the timeouts are applied far before the web server can apply a directory decision on the request (the request is not received...), so it's quite normal. What it means is that you cannot apply this directive in a Directory, and there's nothing you can do for that, sorry.

type=timeout

The time in seconds allowed for reading all of the request headers or body, respectively. A value of 0 means no limit.

So instead of using the 10-20 form simply set 0 and it becomes an unlimited timeout. Or at least that's what the documentation seems to imply. But that's a real nice way of making your webserver DOS-enabled. A few HTTP requests on the right url and you will get a nice Deny of Service, so I hope some other Timeout setting will override it (but maybe not, be careful) :-)

Upvotes: 3

Related Questions