<div dir="ltr"><pre>Thank you, Francis.  That sounds like a good plan.  <br><br>Pardon the new thread but I was subscribed in Digest Mode and couldn't reply directly.<br><br></pre><pre>Igal<br></pre><pre><br>On Sun, Sep 13, 2020 at 03:42:28PM -0700, Igal Sapir wrote:

Hi there,

><i> I have a variable that shows if a certain cookie exists in the Request,
</i>><i> e.g. $req_has_somecookie, and I want to be able to use proxy_cache only for
</i>><i> specific URIs, e.g. /slow-page/ if the variable is 0.
</i>><i> 
</i>><i> I know that "if" is evil as it creates a new location scope.
</i>><i> 
</i>><i> What's the best way to handle this?
</i>
Probably some combination of <a href="http://nginx.org/r/proxy_cache_bypass">http://nginx.org/r/proxy_cache_bypass</a> and
<a href="http://nginx.org/r/proxy_no_cache">http://nginx.org/r/proxy_no_cache</a>

You may want to change your variable-setting logic; or use a map
(<a href="http://nginx.org/r/map">http://nginx.org/r/map</a>) to make a new $skip_the_cache variable that is
0-or-empty when your $req_has_somecookie is not 0, and has a different
value when $req_has_somecookie is 0, so that you can (e.g.)

  proxy_no_cache $skip_the_cache;

in the appropriate location{}s.

        f
-- 
Francis Daly        <a href="http://mailman.nginx.org/mailman/listinfo/nginx">francis at daoine.org</a><br><br></pre></div>