如何配置Apache作为j2ee服务器的代理(负载均衡器)?

时间:2008-10-13 18:37:26

标签: apache java-ee mod-proxy

我安装了apache web server作为前端,我在Intranet服务器上安装了j2ee SAP Netweaver Application Server。如何配置apache以转发请求和响应j2ee应用服务器。 例如,外部apache服务器的ip是9.20.1.1:80。 内部sap服务器的地址是192.168.0.1/sap/bc/gui/sap/its/webgui?sap_client=200 我想访问我的sap app服务器,例如9.20.1.1/sapserver/sap/bc/gui/sap/its/webgui?sap_client=200

3 个答案:

答案 0 :(得分:4)

您提到了负载平衡 - 因此您可能希望能够添加通过单个地址提供的更多应用程序服务器。我希望它们是无状态的或将会话信息存储在数据库中。您可以使用Apache作为mod_proxy_balancer的反向代理负载均衡器。文档为here

以下是从this link添加到httpd.conf的内容的示例。

 <Proxy balancer://myclustername>
  # cluster member 1
  BalancerMember http://192.168.0.1:3000 
  BalancerMember http://192.168.0.1:3001

  # cluster member 2, the fastest machine so double the load
  BalancerMember http://192.168.0.11:3000 loadfactor=2
  BalancerMember http://192.168.0.11:3001 loadfactor=2

  # cluster member 3
  BalancerMember http://192.168.0.12:3000
  BalancerMember http://192.168.0.12:3001

  # cluster member 4
  BalancerMember http://192.168.0.13:3000
  BalancerMember http://192.168.0.13:3001
</Proxy>

<VirtualHost *:80>
  ServerAdmin info@meinprof.de
  ServerName www.meinprof.de
  ServerAlias meinprof.de
  ProxyPass / balancer://meinprofcluster/
  ProxyPassReverse / balancer://meinprofcluster/
  ErrorLog /var/log/www/www.meinprof.de/apache_error_log
  CustomLog /var/log/www/www.meinprof.de/apache_access_log combined
</VirtualHost>

答案 1 :(得分:2)

这通常被错误地称为反向代理。如果您使用搜索引擎查找“反向代理apache”,您将获得许多好结果。

快速回答是在apache.conf中添加类似的内容

  

ProxyPass / sap / 192.168.0.1/sap /

     

&LT;位置/ sap /&gt;

    ProxyPassReverse /sap/ 
     

&LT; /位置&gt;

另见modrewrite rools和[P]选项。

答案 2 :(得分:1)

假设您启用了mod_proxy,请添加到您的站点 - 可用:

   ProxyRequests Off
   <Location "/sapserver">
        ProxyPass http://192.168.0.1
        ProxyPassReverse http://192.168.0.1
   </Location>

请注意,因为这会将您的内部网站暴露给整个互联网。