Welcome! Log In Create A New Profile

Advanced

Re: Nginx | fastcgi_cache_valid dynamic based on request

August 26, 2016 02:17PM
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
> nginx@nginx.org
> 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.

http://www.networkflare.com/
Subject Author Posted

Nginx | fastcgi_cache_valid dynamic based on request

c0nw0nk August 26, 2016 11:01AM

Re: Nginx | fastcgi_cache_valid dynamic based on request

Maxim Dounin August 26, 2016 11:46AM

Re: Nginx | fastcgi_cache_valid dynamic based on request

c0nw0nk August 26, 2016 02:17PM

Re: Nginx | fastcgi_cache_valid dynamic based on request

c0nw0nk August 26, 2016 02:43PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 309
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready