我想使用Nginx缓存Uwsgi应用程序。该应用程序为某些请求设置Cache-Control
标头。仅应为这些请求启用Nginx缓存,并遵守max-age
条件。
因此,我尝试为上游未设置uwsgi_no_cache 1
的请求设置Cache-Control
。 uwsgi_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中启用缓存的方法?
对于上游服务返回的标头,您将需要使用$upstream_http_
前缀
https://nginx.org/en/docs/http/ngx_http_upstream_module.html#var_upstream_http_
因此您的情况应该是$upstream_http_cache_control