0

大家好,感谢您的帮助。我在 localhost:8080/app 的 tomcat 上部署了一个 webapp,可以通过 www.domain.com 访问。嗨,用 apache 中的以下配置来做到这一点

RewriteEngine on
ProxyRequests off
ProxyPreserveHost on

RewriteCond %{REQUEST_URI} !^/backoffice
RewriteRule ^/(.*)$ ajp://localhost:8009/app/$1 [P,L]

现在身份验证过程不起作用,因为 JSESSIONID cookie domani 是“/app/”而不是“/”。有一种方法可以解决这个问题。谢谢 ;)

4

2 回答 2

1

你有两个简单的选择和一些复杂的选择。

最简单的选项是在 Tomcat 上将 app.WAR 重命名为 ROOT.war 并将您的应用程序部署为 ROOT 上下文。

第二个简单的选项是使用 ProxyPass、ProxyPassReverse 和 ProxyPassReverseCookiePath 在 httpd.conf 中进行代理。

复杂的都涉及使用 mod_headers 和 mod_substitute(或等效)来修复所有 HTTP 标头和内容中的所有损坏路径。

就个人而言,我只想重命名 WAR。麻烦少了很多。

于 2013-10-24T19:56:26.820 回答
0

我同意 BalusC。您的配置文件似乎没有问题。您应该检查您的应用并将 cookiepath 设置为 '/' 。更多信息(关于如何做到这一点)在这里: 在 Tomcat 中的上下文之间共享会话数据

于 2013-10-23T15:57:54.093 回答