- 论坛徽章:
- 0
|
本帖最后由 kofzhujia2010 于 2011-12-27 22:54 编辑
做好了nginx proxy_cache,见部分配置:
location ~ .*\.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {
proxy_pass http://tbsweb;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache cache_one;
#对不同的HTTP状态码设置不同的缓存时间
proxy_cache_valid 200 302 1h;
proxy_cache_valid 301 1d;
proxy_cache_valid any 1d;
expires 1d;
}
页面是JSP的,是不经过缓存的,访问nginx登录发现,第一个用户登陆之后,进入主页面会有用户名显示,这时别的用户登录后,进入主页面会把第一个用户的用户名出现在页面上,而把上面的js缓存去掉之后就是好的.或者不经过nginx访问web都是可以的,说明web程序是没问题的。
我的理解引起该问题的原因:
第一个用户登录后,将页面缓存在nginx上,从第二个用户开始登录之后,就一直访问的是缓存,于是用户名是显示第一个用户的
疑问:
1:为什么会和缓存有关?登录之后进入的主页面是jsp的,不应该缓存的,而且用户名是从session中读取出来显示在jsp上面的.
2:这个去掉js缓存为什么就没事了?js缓存只是缓存js文件而已,是静态的,应该不影响jsp的用户名的显示啊
求解 |
|