【发布时间】:2024-04-16 04:10:02
【问题描述】:
我的 Web 应用程序在 Tomcat 中以 http://localhost:8080/example.com/ 运行,但它正在从 Apache 反向代理,该代理在端口 80 上提供 http://example.com/。我的 Web 应用程序查看 request.getHeader("x-forwarded-host") 标头以知道它位于反向代理。当它(动态地)检测到这一点时,它会构建没有 servlet 路径的 URL。
这适用于除 JSESSIONID cookie 之外的所有内容。当通过反向代理访问它时,它的路径设置为/example.com 而不是/。当请求中有 x-forwarded-host 标头时,我不知道如何让我的代码告诉 Tomcat 覆盖该 cookie 的路径。
我自己尝试从 Web 应用程序设置 JSESSIONID cookie,但这只会产生两个 Set-Cookie 标头,其中只有一个是正确的。
【问题讨论】:
标签: tomcat reverse-proxy jsessionid