Nginx fastcgi_cache_valid vs fastcgi_cache_path's inactive

If I've config

fastcgi_cache_path /opt/nginx levels=1:2 keys_zone=TEST:100m inactive=40m;
..
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
fastcgi_cache_valid 30m;

How long will my cache stored in the path above?


fastcgi_cache_valid is used to define caching time for replies without "X-Accel-Expires", “Expires” or “Cache-Control” headers.
fastcgi_cache_path ... inactive= is used to define how long objects should be keeped in cache without accessing from browser.

So in your case with fastcgi_cache_valid 30m and fastcgi_cache_path ... inactive=40m all replies from original server without any Cache-control headers will be valid for 30 minutes (but could be used after 30 minutes in case of problems with original server if fastcgi_cache_use_stale is configured).
But cached object will be removed from cache if there will be no request for that object from users for 40 minutes.