仅在设置了Cache-Control标头时才启用UWSGI缓存

问题描述 投票:1回答:1

我想使用Nginx缓存Uwsgi应用程序。该应用程序为某些请求设置Cache-Control标头。仅应为这些请求启用Nginx缓存,并遵守max-age条件。

因此,我尝试为上游未设置uwsgi_no_cache 1的请求设置Cache-Controluwsgi_no_cache 0用于上游确实设置了Cache-Control标头的请求。

但是,这不起作用:

set $no_cache 1;
if ($sent_http_cache_control) {
    set $no_cache 0;
}
uwsgi_no_cache $no_cache;

问题出在$sent_http_cache_control上,不幸的是它没有反映出上游设置的标题。

[Cache-Control设置为上游时,是否只有在Nginx中启用缓存的方法?

nginx uwsgi http-caching
1个回答
2
投票

对于上游服务返回的标头,您将需要使用$upstream_http_前缀

https://nginx.org/en/docs/http/ngx_http_upstream_module.html#var_upstream_http_

因此您的情况应该是$upstream_http_cache_control

© www.soinside.com 2019 - 2024. All rights reserved.