6

我将 apache Web 服务器安装为前端,并在 Intranet 服务器中安装了 j2ee SAP Netweaver 应用程序服务器。如何配置 apache 以向/来自 j2ee 应用服务器转发请求和响应。例如,外部 apache 服务器的 ip 是 9.20.1.1:80。内部 sap 服务器的地址是 192.168.0.1/sap/bc/gui/sap/its/webgui?sap_client=200 我想访问我的 sap 应用程序服务器,例如 9.20.1.1/sapserver/sap/bc/gui/sap/its/ webgui?sap_client=200

4

3 回答 3

4

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

这是一个从这个链接添加到你的 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>
于 2008-10-14T17:39:40.293 回答
2

这通常被错误地称为反向代理。如果您使用搜索引擎查找“反向代理 apache”,您会得到很多不错的结果。

快速的答案是将这样的内容添加到您的 apache.conf

ProxyPass /sap/ 192.168.0.1/sap/

< 位置 /sap/ >

    ProxyPassReverse /sap/ 

</位置>

另请参阅 modrewrite rools 和 [P] 选项。

于 2008-10-13T18:53:25.043 回答
1

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

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

不过要小心,因为这确实会将您的内部网站暴露给整个互联网。

于 2008-10-13T18:47:56.800 回答