proxy_cache - Is there a way to cancel file caching from header filter?

Anatoli Marinov toli at webforge.bg
Wed Apr 13 14:49:43 MSD 2011


On 04/13/2011 12:47 PM, Igor Sysoev wrote:
> On Wed, Apr 13, 2011 at 12:03:29PM +0300, Anatoli Marinov wrote:
>> Hello,
>> Is there a way to cancel file caching from header filter?
>>
>> I am using nginx as a reverse proxy and proxy_cache for caching and this
>> configuration serves flv files.
>>
>> Standard flv module cannot work with proxy_cache so start= argument is
>> not understand by the nginx. There is other internal server (typically a
>> cloud of them) that understands the argument and return a chunk from the
>> file - starting from desired position. After this file is received from
>> the nginx by its upstream it will be cached.
>>
>> These chunked files should not been cached because they do not contain
>> the whole content of the original file.
>> So I have written new header filter and in this filter for given file I
>> can take a decision  to cache it or not. By default proxy_cache will
>> cache this file so can I cancel this?
> The simplest way is to set "X-Accel-Expires: 0" in a response
> of server that sends chunk.
>
> Other way in configuration:
>
> proxy_cache_bypass  $arg_start;
> proxy_nocache       $arg_start;
>
>
I do not think I will be able to achieve this with configuration 
parameters. I have written a filter-module that understand start= 
argument and serve from proxy_cache cached files.
But there is interesting case when the file does not exist in the cache 
(and there is start= as an argument) so then it should be downloaded 
through upstream from remote server and the file should not be cached, 
because it is partial.

You told me the simplest way :) is there any other ways?
I need just a direction ...

Best wishes
Toli








More information about the nginx-devel mailing list