大多数已经给出的答案是要隐藏应用程序路径的情况。我们处于这种情况,仅将以“ http://www.example.com/ourpath”开头的请求中继到我们的apache 。
这意味着我们的Apache会重写
ProxyPass "/ourpath/MyApp" "ajp://internalcontainer:8009/MyApp"
ProxyPassReverse "/ourpath/MyApp" "ajp://internalcontainer:8009/MyApp"
现在可以访问该应用程序本身,但是jsf构建的网址类似
http://www.example.com/MyApp/javax.faces.resource/jquery/jquery.js.xhtml?ln=primefaces&v=6.2
并省略“我们的路径”部分。知道我们如何影响tomcat的上下文路径信息吗?
答案 0 :(得分:0)
好的,我有一个解决方案,内部和外部路径必须相同,否则就没有可靠的解决方案。
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
的战争文件#告诉tomcat网址中有一个子路径