2008-10-13 17 views
6

Mam serwer WWW Apache zainstalowany jako frontend i mam serwer aplikacji SAP Netweaver j2ee zainstalowany na serwerze intranetowym. Jak skonfigurować apache do przekazywania żądań i odpowiedzi do/z serwera aplikacji j2ee. Na przykład adres IP zewnętrznego serwera apache to 9.20.1.1:80. wewnętrzny adres serwera SAP to 192.168.0.1/sap/bc/gui/sap/its/webgui?sap_client=200 Chcę uzyskać dostęp do mojego serwera aplikacji SAP, na przykład 9.20.1.1/sapserver/sap/bc/gui/sap/ ? jego/WebGUI sap_client = 200Jak skonfigurować serwer Apache do pracy jako serwer proxy (load balancer) dla serwera j2ee?

Odpowiedz

4

Wspomniałeś o równoważeniu obciążenia - więc prawdopodobnie chcesz móc dodać więcej serwerów aplikacji, które są obsługiwane przez jeden adres. Mam nadzieję, że są one bezpaństwowcami lub przechowują informacje o sesji w bazie danych. Możesz użyć Apache do działania jako równoważnik obciążenia wstecznego proxy z mod_proxy_balancer. Dokumenty to here.

Oto przykład tego, co dodać do pliku httpd.conf z this link.

<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 [email protected] 
    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

Zakładając masz mod_proxy włączona, aby dodać jesteś stron dostępnego:

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

Bądź ostrożny, ponieważ nie narażać wewnętrzną witrynę do całego Internetu.

+0

Nie działa całkiem nieźle. Wystąpiły problemy z renderowaniem obrazów i stylami strony (aplikacja j2ee). Strona renderowana bez grafiki i stylów CSS. Co mogę ci doradzić? –

+0

Czy można sprawdzić, czy aplikacja J2EE nie odwołuje się do obrazów i CSS za pośrednictwem bezwzględnych adresów URL zamiast względnych? –

2

To jest często błędnie określane jako odwrotne proxy. Jeśli użyjesz wyszukiwarki, by znaleźć "reverse proxy apache", uzyskasz wiele dobrych wyników.

Szybka odpowiedź jest dodać coś takiego do apache.conf

ProxyPass/SAP/192.168.0.1/sap/

< Lokalizacja/SAP />

ProxyPassReverse /sap/ 

</Lokalizacja>

Zobacz także royce modrewrite i opcję [P].

+1

W rzeczywistości jest to odwrotne proxy. Przekierowanie przekazujące to host, który kieruje prośby o zapewnienie buforowania i filtrowania. Nie wiem, dlaczego powiedziałbyś, że jest "omyłkowo" nazywane odwrotnym proxy. – MattMcKnight

Powiązane problemy