开发者社区> 问答> 正文

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-05-30 23:42:00 714 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-05-30 23:42:06
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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