我是否需要将nginx缓存文件的所有者更改为应用程序文件夹的所有者

时间:2013-03-27 07:13:48

标签: caching nginx reverse-proxy

我已经在我的ubuntu中设置了nginx作为反向代理缓存服务器。

文件将缓存在mywebroot / cache文件夹

的位置

此文件夹的所有者和内容为www-data,我的应用所有者为root

我应该将我的缓存文件的所有者更改为root用于从nginx缓存提供的页面吗?

编辑:

Cache-Control   no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection  keep-alive
Content-Encoding    gzip
Content-Length  3817
Content-Type    text/html; charset=utf-8
Date    Fri, 29 Mar 2013 10:19:23 GMT
Expires Thu, 19 Nov 1981 08:52:00 GMT
Pragma  no-cache
Server  nginx/1.1.19
Vary    Accept-Encoding
X-Cache-Status  MISS
X-Powered-By    PHP/5.3.10-1ubuntu3.6

这是我在萤火虫中的回应

1 个答案:

答案 0 :(得分:0)

参考:http://wiki.nginx.org/HttpProxyModule#proxy_cache

  

以下响应标头将响应标记为不可缓存,除非   他们被忽略了:

Set-Cookie
Cache-Control containing "no-cache", "no-store", "private", or a "max-age" with a non-numeric or 0 value
Expires with a time in the past
X-Accel-Expires: 0

根据您更新的问题,您的上游服务器会返回过去的到期时间和缓存控制:无缓存等。

Cache-Control   no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Expires Thu, 19 Nov 1981 08:52:00 GMT
Pragma  no-cache

所以nginx正确地不会缓存它。一种方法是告诉nginx忽略这些标头以确定缓存并隐藏错误的Expires标头等。

proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;
proxy_hide_header Pragma Expires Cache-Control;

正如post所示,您也可以设置,例如

expires 1d;

使代理缓存过期1天。