nignx 转发session 丢失问题

阅读更多
    今天开发中遇到一个很奇怪的问题,我在一个action中向session中存储了一个值,理论上在前端都应该可以取到这个值,见下:
        @CrossOrigin
@RequestMapping("/")
public String index(HttpServletRequest request, String code, Map objs) {
HttpSession session = request.getSession();
session.setAttribute("netName", CmsCache.netName);
session.setAttribute("netUrl", CmsCache.netUrl);
if (XStringUtils.isBlank(code)) {
code = "home";
}
objs.put("code", code);
return "index";
}
   
   首页登陆后将netName放入到session中,在前端任意地方去获取该session值
   开发完成后部署到tomcat,启动,一切正常,没有问题,但是经过Nginx转发后,该session中的netName的值获取不到,只能在每个请求中分别再存储到session中一次才能获取到,见下:
        @RequestMapping("/menu")
public String menu(HttpServletRequest request, Map map) {
HttpSession session = request.getSession();
session.setAttribute("netName", CmsCache.netName);
session.setAttribute("netUrl", CmsCache.netUrl);

  在调用菜单action时候,我还需要再次存储一次netName,前端才能获取到,可能是我对nignx的转发原理和它对session的管理还不熟悉,有哪位大拿如果知道原理请赐教。

你可能感兴趣的:(nginx,tomcat)