nginx 的两个不同 fastcgi_cache_valid 值
Posted
技术标签:
【中文标题】nginx 的两个不同 fastcgi_cache_valid 值【英文标题】:two differents fastcgi_cache_valid value for nginx 【发布时间】:2022-01-02 14:18:38 【问题描述】:我在 nginx 中使用fastcgi_cache
,我想为不同的请求使用两个不同的时间段缓存。
例如:
if ($request_uri ~* "/(api/1|api/2)")
set $no_cache 0;
set $cache_valid 5m;
...
fastcgi_cache_valid 200 $cache_valid; // it's not work
fastcgi_cache_valid 200 1m; // it's work
如何使用两个不同的fastcgi_cache_valid
时间值?
【问题讨论】:
【参考方案1】:您不能将变量与fastcgi_cache_valid
指令一起使用。如果您的上游 API Web 应用程序在您的控制之下,您最好让它为 /api/1
、/api/2
和其他不应缓存的请求返回 X-Accel-Expires: 0
HTTP 标头。如果不是,我认为您唯一的方法是使用具有不同 fastcgi_cache_valid
指令的两个不同的 location
块。
【讨论】:
以上是关于nginx 的两个不同 fastcgi_cache_valid 值的主要内容,如果未能解决你的问题,请参考以下文章