大多数已经给出的答案都是针对您想要隐藏应用程序路径的情况。我们的情况是,只有以"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
并省略了"我们的道路"部分。知道我们如何影响雄猫的上下文路径信息吗?
好的,我得到了一个解决方案,内部和外部路径必须相同,否则没有可靠的解决方案。
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 url 中有一个子路径