Maxim Dounin Wrote:
-------------------------------------------------------
> Hello!
> 
> On Fri, Aug 26, 2016 at 11:01:05AM -0400, c0nw0nk wrote:
> 
> > So I have been trying to make the fastcgi_cache_valid value based on
> user
> > request.
> > 
> > if ($request_uri ~ "/url1" ) {
> > set $cachetime "any 5s";
> > }
> > if ($request_uri ~ "/url2" ) {
> > set $cachetime "any 5m";
> > }
> > 
> > These did not work because it turns out your not allowed to have a
> dynamic
> > variable within the fastcgi_cach_valid command.
> > fastcgi_cache_valid $cachetime;
> 
> Exactly, the fastcgi_cache_valid doesn't support variables and 
> that's why it won't work.
> 
> > So instead of the above i tried this instead.
> > 
> > if ($request_uri ~ "/url1" ) {
> > set $cachetime "5";
> > }
> > if ($request_uri ~ "/url2" ) {
> > set $cachetime "300";
> > }
> > add_header "X-Accel-Expires" $cachetime;
> > 
> > fastcgi_cache_valid any 60s;
> > 
> > But on url1 i get X-Cache: HIT when it should of expired after 5
> seconds.
> 
> For X-Accel-Expires to work, it must be from an upstream server.  
> That is, using add_header will work if done on your backend, but 
> not in the nginx caching configuration.
> 
> > Is what i am trying to achieve even possible ? From my understand
> the
> > X-Accel-Expires might just be for proxy_cache requests.
> 
> Use separate locations instead, i.e.:
> 
>     location /url1 {
>         fastcgi_cache_valid any 5s;
>         ...
>     }
> 
>     location /url2 {
>         fastcgi_cache_valid any 5m;
>         ...
>     }
> 
> Locations were specifically designed to make distinct URI-based 
> configurations easy and efficient.
> 
> -- 
> Maxim Dounin
> http://nginx.org/
> 
> _______________________________________________
> nginx mailing list
> [email protected]
> http://mailman.nginx.org/mailman/listinfo/nginx


Thanks for the information i don't use proxy_pass and the setup of php is as
shown here.

https://docs.joomla.org/Nginx

But i think based of what you said i should be able to add that same
"X-Accel-Expires" header to my PHP output itself and that will achieve it.
Might even be better since i can define that header on specific pages.

I will give it a try adding it to my PHP script and post back if it works or
not.

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?2,269212,269218#msg-269218

_______________________________________________
nginx mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to