开发者社区> 问答> 正文

tengine+tomcat 做反向代理,不能保持会话 :报错

项目域名:web.xxx.com 

nginx 配置:

server{
  listen 80;
  server_name web.xxx.com;
  location / {
    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:8080/web/;
  }
}

tomcat 中是直接把 web.war 直接放在 webapps 下面。

现在的问题是每次访问主页时候浏览器中是没游 cookie 的,好像服务器是保存不了浏览器传递过去的 sessionid.不知道是不是配置的问题?请同学们帮帮忙!



展开
收起
kun坤 2020-06-20 13:37:19 826 0
1 条回答
写回答
取消 提交回答
  • @红薯######

    http://git.oschina.net/oschina/oschina-config/blob/master/common/proxy.conf

    请看这里,proxy_set_header           Host $host; 这句配置非常重要

    ######

    引用来自“红薯”的评论

    http://git.oschina.net/oschina/oschina-config/blob/master/common/proxy.conf

    请看这里,proxy_set_header           Host $host; 这句配置非常重要

    我配置了这个,但是会导致url 出现两个 tomcat 的上下文

    ######放到 tomcat 根项目解决问题######我希望通过 web.xxx.com 直接访问项目,如果我设置那句的话,就会跳转到 web.xxx.com/web/这个地址,在地址上面加上了 tomcat 的上下文,所以就访问不到了######这个是必须的,因为 cookie 严重依赖与 URL 中的 host
    2020-06-20 13:37:24
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里七层流量入口Tengine硬件加速探索之路 立即下载
阿里Tengine直播最佳实践 立即下载
阿里Tengine网关最佳实践 立即下载