3

我在 Tomcat 中有两个相同的 Web 应用程序实例,它们由 Apache 的反向代理提供。第一个工作得很好,但第二个从会话中获取数据有问题(空指针异常)。ProxyPassReverseCookiePath 显然配置错误。

这是我的配置:

<IfModule proxy_module>
<IfModule proxy_http_module>

#
# Reverse Proxy
#
ProxyRequests Off

<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

ProxyPass /app1/ http://localhost:8080/localapp1/
ProxyPassReverse /app1/ http://localhost:8080/localapp1/
ProxyPassReverseCookiePath /localapp1 /app1/


ProxyPass /app2 http://localhost:8080/app2
ProxyPassReverse /localapp2 http://localhost:8080/app2
ProxyPassReverseCookiePath /app2 /app2


<Location /app1/ >
RequestHeader edit X-GWT-Module-Base ^(.*)/app1/(.*)$ $1/localapp1/$2
</Location>


<Location /app2 >
RequestHeader edit X-GWT-Module-Base ^(.*)/app2(.*)$ $1/app2$2
</Location>

</IfModule>
</IfModule>

我希望在 URL 末尾不需要斜杠(“/”)就可以访问第二个。我真的无法弄清楚这里出了什么问题,希望有人能提供帮助。

4

1 回答 1

1

以下配置是您真正想要的吗?

ProxyPass /app2 http://localhost:8080/app2
ProxyPassReverse /localapp2 http://localhost:8080/app2
ProxyPassReverseCookiePath /app2 /app2

proxyPass 和 ProxyPassReverse 配置不匹配。基于localapp1,你的后端路径应该是localapp2。乍一看,以下内容对我来说更有意义:

ProxyPass /app2 http://localhost:8080/localapp2
ProxyPassReverse /app2 http://localhost:8080/localapp2
ProxyPassReverseCookiePath /localapp2 /app2
于 2013-05-27T10:22:22.810 回答