Disable "proxy store" on "?start=1" param

Hello,

Is there a good way to disable “proxy_store”, if the parameter “start=”
is
set?
The down below configuration works, but I get an error message:
“[crit] … open() “/dev/null.0000000004” failed (13: Permission
denied)
while reading upstream …”
Using “set $proxy_store off;” won’t work, because it is handles as a
string.

Thanks a lot!
Marcus

server {
    listen          80;
    root             /home/nginx;
    location ~ \.mp4$ {
        try_files                   $uri @upstream;
        mp4;
    }
    location @upstream {
        set $proxy_store "/home/nginx$uri";
        if ($arg_start) {
            set $proxy_store "/dev/null";
        }
        proxy_pass

http://upstream.com$request_uri;
proxy_store $proxy_store;
}
}

Posted at Nginx Forum:

Hello!

On Mon, Aug 11, 2014 at 02:13:53PM -0400, double wrote:

Hello,

Is there a good way to disable “proxy_store”, if the parameter “start=” is
set?
The down below configuration works, but I get an error message:
“[crit] … open() “/dev/null.0000000004” failed (13: Permission denied)
while reading upstream …”
Using “set $proxy_store off;” won’t work, because it is handles as a
string.

Try something like this instead:

location /store/ {
    if ($arg_start) {
        rewrite ^/store/(.*) /nostore/$1 last;
    }

    proxy_pass ...
    proxy_store on;
}

location /nostore/ {
    # no proxy_store here
    proxy_pass ...
}


Maxim D.
http://nginx.org/