apache - 在带有附加子路径的反向代理后面运行 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 的上下文路径信息吗?
解决方案
好的,我有一个解决方案,内部和外部路径必须相同,否则没有可靠的解决方案。
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 中有一个子路径
推荐阅读
- python - 在 pandas 系列中按数据类型对列进行分组会引发 TypeError:不理解数据类型
- python - 加快 Python 中图像距离变换的计算速度
- c++ - 可以使用 C++ 聚合初始化来构造实现接口的类的实例吗?
- c# - Windows Composition Visual 的偏移值未正确初始化
- angularjs - API cookie 问题 - 尝试以角度创建 XSRF/CSRF 令牌
- ruby-on-rails - Ruby on Rails:尝试将商品添加到购物车时出错(使用订单项)
- pandas - 在 Jupyter 中编写 SQL 查询的最佳实践
- html - 如何在 Windows 操作系统中隐藏垂直滚动条
- java - 无法创建节点数组
- elasticsearch - 如何在elasticsearch中按ID删除多个文档?