微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

不同的proxy_cache_valid取决于nginx的request_uri

如何解决不同的proxy_cache_valid取决于nginx的request_uri

我使用 Nginx 作为 googleapis.com 的缓存。目前所有响应都缓存了 5m:

proxy_cache_path /var/cache/Nginx/xxx_cache keys_zone=xxx_cache:10m;

server {
  location ~ /blog/ {
    proxy_pass https://www.googleapis.com/blogger/v3/blogs/;
    proxy_cache xxx_cache;
    proxy_cache_lock on;
    proxy_cache_valid 5m;
}

我想根据 request_uri 更改此间隔。通过 $proxy_cache_valid 指令定义 map 变量并将其用于 proxy_cache_valid 失败并显示 invalid time value "$proxy_cache_valid" in ...

map $request_uri $proxy_cache_valid { 
  default 5m;
  ~^/blog/[0-9]+/posts/[0-9]+ 1h;
}

proxy_cache_path /var/cache/Nginx/xxx_cache keys_zone=xxx_cache:10m;

server {
  location ~ /blog/ {
    proxy_pass https://www.googleapis.com/blogger/v3/blogs/;
    proxy_cache xxx_cache;
    proxy_cache_lock on;
    proxy_cache_valid $proxy_cache_valid;
}

如何在 Nginx (Nginx version: Nginx/1.16.1) 中实现这一点?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。