我们正在部署一个 SpringMVC 应用程序并使用 Apache 前端,以便技术水平较低的员工可以更轻松地将图像上传到应用程序中,而无需重新部署应用程序和避免此类烦恼;它还可以处理我们的 SSL,以便我们的 SSL 部署可以轻松标准化。
为此,我们使用位于 :443 的 Apache2 前端来处理 SSL,并将来自 CMS 的数据拼接到此端:
ProxyPass /client-ui/images/rich/ !
Alias /client-ui/images/rich/ /var/lib/cms/images/
以及类似的东西
<Location /client-ui/>
ProxyPass http://localhost:8080/client-ui/ timeout=3600
ProxyPassReverse http://localhost:8080/client-ui/
</Location>
我们的部署尚未解决的一件事是应用程序仍在运行,/client-ui/betptc/home
因此当有人访问该网站时,他们必须点击example.com/client-ui/betptc/home
。我想设置一个 DirectoryIndex,/
只需重定向到主应用程序即可。
但是,如果我像处理图像目录一样使用 ProxyPass,整个域将无法代理到 Tomcat;该/client-ui/
阻止不会被识别或尊重。
还有其他方法吗?我不太了解我们的 Spring 应用程序,所以我不太愿意尝试在那一端添加重定向,但如果有办法做到这一点,我愿意接受。
答案1
为什么不只是..
RedirectMatch permanent ^/$ http://example.com//client-ui/betptc/home
但免除代理也是可行的。
ProxyPassMatch ^/$ !
(这需要超出您现有的ProxyPass
线路,因为它们是按顺序处理的)