【问题标题】:Java web session cookie path issue with a web server as load balancer使用 Web 服务器作为负载平衡器的 Java Web 会话 cookie 路径问题
【发布时间】:2012-03-08 09:13:55
【问题描述】:

我有一个 Java Web 项目, Nginx 作为 http 代理, Tomcat 作为后端 Servlet 容器。

部署在 Tomcat 上的应用有一个上下文路径,它的运行方式类似于 http://localhost:8080/project-name

我像这样向用户展示该项目:www.project-name.com 与:proxy_pass http://localhost:8080/project-name/

我在 Java Web 项目中使用了一个会话,该会话由一个名为 JSESSIONID 的 cookie 处理。

问题是 JSESSIONID 有一个带有 /project-name/ 的 cookie 路径,浏览器无法访问它,因为用户没有浏览 www.project-name.com/project-name/

您知道解决此问题的最佳做法是什么吗?

【问题讨论】:

    标签: java http proxy nginx web


    【解决方案1】:

    http://tomcat.apache.org/tomcat-6.0-doc/config/context.html

    寻找sessionCookieDomainsessionCookieNamesessionCookiePath

    【讨论】:

    • 您认为这是否会因为 jsession 将在同一服务器中的其他应用程序之间共享(?)而产生任何问题?
    • 我不确定共享 JSESSIONID 是否会成为问题,因为 webapps 不应该能够看到彼此的会话数据。除非你使用crossContext=true。但我还没有测试过。
    猜你喜欢
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 2011-04-07
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 2020-10-29
    • 2011-09-21
    相关资源
    最近更新 更多