You can chain two maps to get a logical and:
map $request_method $is_get {
default 0;
GET 1;
}
map $http_cache_bypass $bypass_cache {
default $is_get;
"" 0;
}
proxy_cache_methods POST;
proxy_cache_bypass $bypass_cache;
# note the lack of : after default in the maps, it's incorrect to have it
there like your original map did
On Fri, Jan 24, 2014 at 10:03 PM, B.R. <reallfqq-nginx@yahoo.fr> wrote:
> Hello,
>
> On Sat, Jan 25, 2014 at 3:40 AM, Jeroen Ooms <jeroen.ooms@stat.ucla.edu>wrote:
>
>> This looks like a fragile solution. You're basically simulating an
>> "if", but I don't think we should assume that nginx will resolve all
>> maps in the defined order, as would be using "if".
>>
>> *snip*
>>
>> Maybe someone from the nginx team can comment if this is a viable
>> solution?
>>
>
> You explicited clearly you wanted to avoid if/and logic in your message
> subject (one could wonder why since there appears to be no other trivial
> solution)...
> In the end, since proxy_cache_bypass doc clearly state that it works based
> on an OR logic, what you wish won't happen magically.
>
> With those conditions set, I hardly see something that won't look edgy...
>
> Maybe someone else could help you better.
> Good luck,
> ---
> *B. R.*
>
> _______________________________________________
> nginx mailing list
> nginx@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx