2011-02-24 50 views
4

我检查了缓存路径/ usr/local/nginx/proxy_cache。我多次访问某个网址后没有找到缓存文件。为什么nginx不会缓存我的内容?

我的配置: ngnix.conf

http { 
    include  /etc/nginx/mime.types; 

    default_type application/octet-stream; 

    access_log /var/log/nginx/access.log; 

    sendfile  on; 
    #tcp_nopush  on; 

    #keepalive_timeout 0; 
    keepalive_timeout 65; 
    tcp_nodelay  on; 

    client_body_buffer_size 512k; 


    proxy_temp_file_write_size 128k; 
    proxy_temp_path /usr/local/nginx/proxy_temp; 
    proxy_cache_path /usr/local/nginx/proxy_cache levels=1:2 keys_zone=content:20m inactive=1d max_size=100m; 

    gzip on; 

    include /etc/nginx/conf.d/*.conf; 
    include /etc/nginx/sites-enabled/*; 
} 

默认

server { 
listen 80; 
server_name 208.115.202.87; 


    location /test {  
    proxy_cache content; 
    proxy_cache_key $host$uri$is_args$args; 
     proxy_cache_valid 200 15m; 
    proxy_pass http://aaa.com/; 
    } 

回答

2

你应该打开错误日志,然后看看那个。我有一个与fastcgi缓存类似的问题,问题是文件夹权限。

18

nginx不会缓存设置cookie的页面, 检查您的页面是否有Set-Cookie标题。

如有必要,可以使用proxy_ignore_headers来忽略cookie,并使用proxy_hide_header进行抑制。例如:

proxy_ignore_headers Set-Cookie; 
proxy_hide_header Set-Cookie; 
+0

你可以指出任何支持这种情况的文档吗? – 2013-10-25 21:04:05

+2

http://wiki.nginx.org/HttpProxyModule#proxy_cache 下面的响应报头标志作为不可缓存的响应,除非它们被忽略: 的Set-Cookie含“无缓存”,“无店” 缓存控制,“私人”或带有非数字或0值的“最大年龄” 过去的时间到期 X-Accel-Expires:0 – digitalPBK 2013-10-26 03:13:20

相关问题