我有一个 apache 在“”上为一个本地应用程序提供服务/
,其静态文件在“ /static
”上
还有另一个应用程序mod_proxy
:
ProxyPreserveHost On
ProxyPass "/example" "http://127.0.0.1:9090/"
ProxyPassReverse "/example" "http://127.0.0.1:9090/"
这个应用程序确实有自己的静态内容“ /static
”但是当它来自第一个代理文件时。
¿ 有没有办法/static
根据recuest的来源来为每个人提供“”?
鉴于您的示例,我希望在使用代理时
http://127.0.0.1:9090/static
可以访问位于的 Tomcat 静态文件。http://127.0.0.1/example/static
可能
的解决方案1 我认为最佳实践解决方案是更改为在tomcat应用程序中使用相对路径而不是绝对路径,因此静态文件使用后一种路径;
或服务器根目录;
这将正确地提供图像,例如
可能的解决方案 2
将 apache 静态文件重命名为其他名称,并将 /static 路径显式代理为 tomcat;
另请注意:
可能是hacky解决方案
通过检查referer头来检测请求是否是从tomcat应用发起的;
(我没有测试最后一个解决方案,因为它似乎只是一种新颖的做事方式......)