如何解决有条件地为uri设置proxy_cache_valid,同时对其他常用配置进行分组
我需要在 nginx 中有条件地为 */foo
和 */bar
api 设置 proxy_cache_valid。
因为 proxy_cache_valid 指令不支持变量。我正在使用不同的位置,如下所示。
location ~ ^/product/api/(foo|bar)(/.*)?$ {
auth_request /auth;
auth_request_set $auth_status $upstream_status;
# catch 401 error response from UserAuth
error_page 401 /userauth_401_response.xml;
proxy_ignore_headers Set-Cookie Cache-Control Expires X-Accel-Expires;
proxy_cache_bypass $cb_bypassServerCache_in_query_param;
proxy_cache_methods GET;
proxy_cache_key "$uri";
proxy_cache_lock_age 20s;
proxy_cache_lock_timeout 45s;
proxy_cache rest_cache;
add_header X-Cache-Status $upstream_cache_status;
add_header X-Auth-Status $auth_status;
# set cache time depending upon url
if ($uri ~ .*bar.* ) {
try_files $uri @abc;
}
proxy_cache_valid 200 5m
}
location @abc {
proxy_cache_valid 200 10m
}
我也无法完成这项工作,并且在启动 nginx 时出现 try_files 指令不允许在此处出现错误。
有没有办法让这个工作?除了 proxy_cache_valid 之外的所有配置都相同。
这里的任何指示或帮助表示赞赏。 谢谢 盐水
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。