我使用单个Apache HTTP Server(2.2.23)作为带有两个IBM Websphere应用服务器节点(其他计算机)的负载均衡器。我已经部署了基于简单文本的helloWorld应用程序,它可以与负载均衡器一起使用。但是当我部署包含图像,css文件,java脚本文件的真实应用程序时。它加载没有图像的页面并向我显示简单的文本,并在error_logs和类似的异常情况下给出以下异常:
[error] [client
192.217.71.77
]文件不存在:/ usr / local / apache2 / htdocs / application,referer: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>
我使用以下网址从我的机器访问应用程序到负载均衡器机器:http://192.168.141.17/application/faces/test.jsp
我是否缺少任何阻止Apache在浏览器上加载图像的模块/配置?请指教。
答案 0 :(得分:0)
您只是自己代理test.jsp,而不是应用程序的整个上下文根。您需要ProxyPass一个模式,其中包含触发404的资源(旧的Apache不会在错误日志条目中正确包含它)