Как настроить Apache для работы в качестве прокси (балансировщика нагрузки) для сервера j2ee? - PullRequest
6 голосов
/ 13 октября 2008

В качестве внешнего интерфейса установлен веб-сервер apache, а на сервере интрасети установлен сервер приложений j2ee SAP Netweaver. Как я могу настроить apache для пересылки запросов и ответов на сервер приложений j2ee? например, ip внешнего сервера apache - 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

Ответы [ 3 ]

4 голосов
/ 14 октября 2008

Вы упомянули балансировку нагрузки, так что, вероятно, вы захотите добавить больше серверов приложений, обслуживаемых по одному адресу. Я надеюсь, что они не сохраняют состояние или хранят информацию о сеансе в базе данных. Вы можете использовать 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>
2 голосов
/ 13 октября 2008

Это часто ошибочно называют обратным прокси. Если вы используете поисковую систему для поиска «apache обратного прокси», вы получите много хороших результатов.

Быстрый ответ - добавить что-то подобное в ваш apache.conf

ProxyPass / sap / 192.168.0.1/sap/

    ProxyPassReverse /sap/ 

См. Также modrewrite rools и опцию [P].

1 голос
/ 13 октября 2008

Если у вас включен mod_proxy, добавьте к вашим сайтам:

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

Будьте осторожны, так как это открывает ваш внутренний сайт всему интернету.

...