【发布时间】:2014-07-12 07:44:19
【问题描述】:
我有一个名为“FitnessTracker”的应用在 tomcat 上运行,发布 8080。我使用的是 Spring Security,当我使用 http://localhost:8080/FitnessTracker 直接在 tomcat 上测试它时一切正常
然后我在 Apache http 2.2 上配置了 mod_proxy_ajp,使用域名访问,下面是我的 VirtualHost 配置:
<VirtualHost *:80>
ServerName www.testing.com
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
RewriteEngine on
RewriteRule ^/FitnessTracker/(.*)$ /$1 [P]
ProxyPass / ajp://localhost:8009/FitnessTracker/
ProxyPassReverse / ajp://localhost:8009/FitnessTracker/
</VirtualHost>
现在,当我访问 www.testing.com/ - 它被重定向到 www.testing.com/FitnessTracker/login.html
有没有办法在 URL 中不包含 /FitnessTracker/?我想从 URL 中隐藏 tomcat 上下文名称。 理想情况下,我希望 URL 看起来像 www.testing.com/login.html 我知道这是由于 RewriteRule,但没有重写规则,带有 mod_proxy 的 spring 安全性不起作用 - 因为 Spring 安全性与上下文名称一起重定向到登录页面。
如果您有任何建议,请告诉我。
【问题讨论】:
标签: spring security url proxy ajp