反向代理apache到weblogic的问题

反向代理apache到weblogic的问题

我的 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/) 并让它进行重写。请查看项目网站以获取一些教程和文档。

(我的经验仅来自于没有大量流量的内部网站,因此这可能并不总是正确的解决方案)。

相关内容