免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6841 | 回复: 2
打印 上一主题 下一主题

[proxy] Nginx缓存状态设置问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-26 17:23 |只看该作者 |倒序浏览
测试使用Nginx的proxy_cache,看到网上有不少文章介绍Nginx可以对HTTP STATUS 进行缓存时间设置。

因为业务需求,对这个做了些测试。结果发现设置的没有达到预期效果。不知道是我的设置问题还是测试步骤有误。

请各位大侠帮忙分析一下。

Nginx配置:
proxy_temp_path         /data/nginx_store/temp_dir 1 2;
proxy_cache_path        /data/nginx_store/cache_dir  levels=1:2   keys_zone=cache_one:2048m inactive=360d max_size=10g;
upstream img_source
{
      server  192.168.1.122;
}

server
{
       listen           80;
       server_name      *.test.com;

       location ~ \.(jpg|jpeg|gif|bmp|png|css|js|flv|xml)$
      {
             proxy_next_upstream http_502 http_504 error timeout invalid_header;
             proxy_cache cache_one;
             proxy_cache_valid  200 304 12h;
             proxy_cache_valid  302 1m;
             proxy_cache_key $host$uri$is_args$args;
             proxy_set_header Host  $host;
             proxy_set_header X-Forwarded-For  $remote_addr;
             proxy_pass http://img_source;
      }
}


测试步骤:
1. 请求一张存在的图片,过期值12分钟。请求状态200,Nginx设置了200缓存2分钟。缓存成功。
2. 将图片从源站删除,浏览器清除cache。
3. 过2分钟后再次请求该图片,还是看到200状态。状态缓存2m无效。

同样的方法测试302的效果也是这样的。

论坛徽章:
0
2 [报告]
发表于 2010-07-29 14:40 |只看该作者
顶起来

论坛徽章:
0
3 [报告]
发表于 2010-08-02 15:46 |只看该作者
你的描述不太清楚 你的源站服务器是不是配置了cache-control或expires。如果是的话,你的测试结果是正确的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP