首页 > 解决方案 > 在带有附加子路径的反向代理后面运行 JSF

问题描述

大多数已经给出的答案是针对您想要隐藏应用程序路径的情况。我们的情况是,只有以“http://www.example.com/ourpath”开头的请求被中继到我们的 apache

这意味着我们的 apache 重写

    ProxyPass "/ourpath/MyApp"  "ajp://internalcontainer:8009/MyApp"
    ProxyPassReverse "/ourpath/MyApp"  "ajp://internalcontainer:8009/MyApp"

应用程序本身现在可以访问了,但是 jsf 构建了类似的 url

http://www.example.com/MyApp/javax.faces.resource/jquery/jquery.js.xhtml?ln=primefaces&v=6.2

并省略了“我们的路径”部分。知道我们如何影响 tomcat 的上下文路径信息吗?

标签: apachetomcatjsfreverse-proxy

解决方案


好的,我有一个解决方案,内部和外部路径必须相同,否则没有可靠的解决方案。

ProxyPass "/ourpath/MyApp"  "ajp://brainyoo2web:8009/ourpath/MyApp"
ProxyPassReverse "/ourpath/MyApp"  "ajp://brainyoo2web:8009/ourpath/MyApp"

并确保应用程序部署在同一路径中:

COPY --from=webbuild /myapp/target/MyApp /usr/local/tomcat/webapps/ourpath#MyApp

或者创建一个名为 ourpath#MyApp.war 的 war 文件

# 告诉 tomcat 在 url 中有一个子路径


推荐阅读