Chinaunix
标题:
Nginx缓存状态设置问题
[打印本页]
作者:
zhgypg_cu
时间:
2010-07-26 17:23
标题:
Nginx缓存状态设置问题
测试使用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的效果也是这样的。
作者:
zhgypg_cu
时间:
2010-07-29 14:40
顶起来
作者:
zgbchi
时间:
2010-08-02 15:46
你的描述不太清楚 你的源站服务器是不是配置了cache-control或expires。如果是的话,你的测试结果是正确的。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2