Nginx feature request

Hendrik Hardeman hendrik.hardeman at hotmail.com
Sun Feb 10 21:55:08 MSK 2008


Hi Bedros,

The module you refer to is not exactly what I have requested.

The feature I propose is very simple: a method / directive to disallow serving a file which has a filetime (last modified time) set in the future. E.g. if I set the last modified time for a certain file to 4 March 2008 14:30, then any request for the file before that time would result in a 403. For any request made after that time the file will be served as usual.

Such a directive would make life a lot simpler for me since I have thousands of small static data files which should become available only from a certain time. I could pregenerate lots of files, place them in the corresponding directories (for which I switched on the directive filetime_check), set any wanted filetime (e.g. with touch) and Nginx would do all the hard :) work by returning 403 instead of the file whenever the request is made before the last modification time of the file. As simple as that ! Perl, databases, etc. are too much overhead and I would not want to use any of those for this purpose.

Hendrik Hardeman




Date: Sun, 10 Feb 2008 08:54:59 -0800
From: 2bedros at gmail.com
To: nginx at sysoev.ru
Subject: Re: Nginx feature request

check out secdownload module in lighttpd

http://trac.lighttpd.net/trac/wiki/Docs:ModSecDownload

I've already made a feature request for something like that in nginx; but I believe the developers of nginx did not think building such a module is of high priority.


lighttpd has a memory leak, and I'm not sure if they actually solved it (probably not). I personally prefer nginx, but I wish they build a module like secdownload.



On Feb 10, 2008 12:56 AM, Hendrik Hardeman <hendrik.hardeman at hotmail.com> wrote:

















Hi all,

Discovered Nginx a few weeks back. After some experimenting I have come to the conclusion that Nginx really is very very good.

I have a small feature request:

I
have a set of static files (html and others) which I want to make
available only from a certain date/time. Inspired by the rewrite
module, this morning I thought of a simple method to control access to
such files.

My idea was to set the file creation/modification
time of the static files in the future, i.e. the date/time from which
they can be made available (e.g. I could use the touch tool to set the
appropriate date/time). I could then do something like

if (!-f $request_filename) {return 404;}
if ($date_gmt < fct($request_filename)) {return 403;}

Unfortunately,
I haven't found a way to get at the file creation/modification time (please do
let me know if I overlooked something). The 'fct' in my example is an
imaginary function which returns the file creation time in the same
format as $date_gmt (presumably unix epoch timestamp)

An even
better way to handle this would be to have a directive in the core
module which disallows serving files which have a creation/modification
time in the future. I could then use:

location /ftc/ {
    filetime_check    on;
}

to disallow serving of files with a filetime in the future for that location. Files would then automatically become available once the request time >= filetime. This way access to certain files could be controlled in a very straightforward and transparent way - and with a simple 'touch'.


Though
I'd definitely prefer a directive for the above purpose, access to file
creation/modification time (through variable or function) could still
be useful in the rewriting or ssi module.

Anyone any other suggestions ?

Thanks,

Hendrik Hardeman

Post free auto ads on Yello Classifieds now!  Try it now!




_________________________________________________________________
Post ads for free - to sell, rent or even buy.www.yello.in
http://ss1.richmedia.in/recurl.asp?pid=186
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx/attachments/20080211/ada2abb9/attachment.html>


More information about the nginx mailing list