在 Jboss AS 7 中:
将 Apache 放在 Jboss 前面,这样可以正常工作:
ProxyPass / http://localhost:8080
ProxyPassReverse / http://localhost:8080
所以应用程序是通过 domain.com/app 访问的。
瞄准更清晰的 URL 时出现问题(仅 domain.com):
ProxyPass / http://localhost:8080/app
ProxyPassReverse / http://localhost:8080/app
全部 javax.faces.resource 不会在第二种情况下交付,因为它们不使用 war 上下文 URL。
知道如何在第二种情况下获取人脸资源吗?也许只是转移到 mod_jk?
此 answer关于ResourceHandler,非常有帮助。
最佳答案
JSF ResourceHandler
发出带有 <contextPath>/javax.faces.resource/
的 URL路由,尽管是间接通过 ScriptRenderer、StyleSheetRenderer 等。
由于您在 ProxyPass 指令中省略了应用程序名称(上下文路径),因此您需要使用 URL 重写器在 URL 提供给浏览器之前省略它们。引用 the related question 中的答案关于如何实现这一目标。
关于JSF 前的 Apache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15203177/