我的 Web 服务器运行着 apache 2.2 服务器和 welogic 11g。Apache 在端口 8080 上设置了反向代理,weblogic 提供两个网页,端口为 :7001 第一页:localhost:7001/e-SPP/app 第二页:localhost:7001/e-sprejem/app
我希望使用 apache 访问这两个页面,如下所示: localhost:8080 / e-SPP / app localhost:8080 / e-sprejem / app
Listen 8080
ServerName localhost:8080
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyRequests Off
ProxyPreserveHost On
RewriteEngine On
<Location /e-SPP/app>
ProxyPass localhost:7001/e-SPP/app
ProxyPassReverse localhost:7001/e-SPP/app
</Location>
<Location /e-sprejem/app>
ProxyPass localhost:7001/e-sprejem/app
ProxyPassReverse localhost:7001/e-sprejem/app
</Location>
此配置打开我的页面时,页面是黑白的,因为 CSS 和 JS 未加载!通过代理的 css 路径如下所示:
localhost:8080/e-SPP/css/style.css
如果我将端口更改为 7001,它就不会打开 CSS,但它可以工作!
localhost:7001/e-SPP/css/style.css
CSS和JS加载了怎么办?
有趣的是正在加载的图标 http://localhost:8080/e-SPP/images/new/favicon.gif
感谢您的帮助!
答案1
反向代理模块不会触及页面的内容/HTML。但是,大多数情况下您需要这样做,以修复嵌入的绝对 URL(如您的情况)。
我的解决方案是向 apache 安装另一个模块(http://apache.webthing.com/mod_proxy_html/) 并让它进行重写。请查看项目网站以获取一些教程和文档。
(我的经验仅来自于没有大量流量的内部网站,因此这可能并不总是正确的解决方案)。