免费注册 查看新帖 |

Chinaunix

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

nginx proxy_cache碰到的蛋疼问题,求解决 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-27 22:46 |只看该作者 |倒序浏览
本帖最后由 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的用户名的显示啊

求解

论坛徽章:
0
2 [报告]
发表于 2011-12-29 08:42 |只看该作者
知道原因了,是正则表达式出问题了,js会匹配成jsp的。。所以jsp也被缓存了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP