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