我在 Tomcat 实例前运行 Apache。Apache 代理通过的每个请求并将其传递给 Tomcat。当前配置是 ApacheProxyPass
在根 (/) 上放置一个。但是,有新的要求,指定对域根的调用应返回静态启动页面,并且任何其他调用都应通过代理。
这意味着:
www.domain.com -> static page
www.domain.com/username - proxy to Tomcat
制定多个 ProxPass 指令并不是一个好主意,因为有很多路径必须由 Tomcat 实例支持,而且其中许多路径都会发生变化。
答案1
将对普通 www.domain.com 的所有请求重定向到 www.domain.com/index.html,然后在将其他所有内容转发到 Tomcat 之前添加代理排除:
RewriteRule ^/$ /index.html
ProxyPass /index.html !
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
答案2
另一个可能的解决方案:
<LocationMatch "/.+">
# ProxyPass directives
</LocationMatch>