configurationNginx代理微caching服务器块中的特定位置

我有一个Django网站,每隔几秒发布新的内容。

我网站主页上的授权用户登陆/ ,而未经授权的用户login/unauth/unauth显示与/unauth相似的内容,但没有任何个人详细信息。 我的网站使用nginx反向代理)与gunicorn作为上游。

我试图在location/unauth上实现nginx location/unauth ,但到目前为止还是不成功(在/var/cache/nginx什么也没有显示)。 添加add_header X-Cache-Status $upstream_cache_status;location/unauth在响应中根本不产生任何东西。 这几乎就像是完全被忽视的(!)。

你能帮我解决这个问题吗? 让我知道如果你想看到整个nginx.conf。


我在我的nginxconfiguration文件中添加了以下内容:

  #outside the server block proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=100m inactive=6m; #inside the server block location /unauth { add_header X-Cache-Status $upstream_cache_status; proxy_cache my_cache; proxy_cache_lock on; proxy_cache_valid 200 1s; proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; proxy_buffering on; proxy_buffers 24 4k; proxy_buffer_size 2k; proxy_busy_buffers_size 8k; try_files $uri @http_proxy_to_app; } 

http://example.com/unauth/生成的HTTP响应头如下所示:

 Status: HTTP/1.1 200 OK Server: nginx Date: Sun, 05 Feb 2017 00:10:03 GMT Content-Type: text/html; charset=utf-8 Transfer-Encoding: chunked Connection: close Vary: Accept-Encoding Expires: Sun, 05 Feb 2017 00:10:13 GMT Vary: Cookie Last-Modified: Sun, 05 Feb 2017 00:10:03 GMT Cache-Control: max-age=10 X-Frame-Options: SAMEORIGIN Content-Encoding: gzip 

缓存不工作的原因是因为内部重定向到@http_proxy_to_app。 proxy_cache需要在后重定向上下文中。