0

我使用单个 Apache HTTP Server (2.2.23) 作为负载均衡器,带有两个 IBM Websphere 应用程序服务器节点(其他机器)。我已经部署了基于简单文本的 helloWorld 应用程序,它可以与负载均衡器一起正常工作。但是当我部署包含图像、css 文件、java 脚本文件的真实应用程序时。它加载没有图像的页面并向我显示简单的文本,并在 error_logs 和类似的异常上给我以下异常:

[错误] [客户端192.217.71.77] 文件不存在:/usr/local/apache2/htdocs/application,引用者: http://192.168.141.17/application/faces/test.jsp

有趣的是,当我在没有负载均衡器的情况下访问应用程序时,它也可以正常工作。

这是负载平衡器设置

<VirtualHost *:80>
ServerName test.com:80
<Proxy balancer://mybalancer>
BalancerMember `http://192.168.141.13:9081` route=1
BalancerMember `http://192.168.141.13:9082` route=2
Order allow,deny
Allow from all
</Proxy>
RewriteEngine On
RewriteLog "/usr/local/apache2/logs/rewrite.log"
RewriteLogLevel 5
ProxyPass /application/faces/test.jsp balancer://mybalancer/application/faces/test.jsp
ProxyPassReverse /application/faces/test.jsp 
balancer://mybalancer/application/faces/test.jsp
</VirtualHost>

我使用以下 URL 将应用程序从我的机器访问到负载平衡器机器:http://192.168.141.17/application/faces/test.jsp

我是否缺少任何模块/配置来阻止 Apache 在浏览器上加载图像?请指教。

4

1 回答 1

0

您只是代理 test.jsp 本身,而不是应用程序的整个上下文根。您需要 ProxyPass 一个包含触发 404 的资源的模式(旧的 Apache 没有正确地将其包含在错误日志条目中)

于 2013-03-16T13:41:56.097 回答