2008-10-13 7 views
6

Ich habe Apache Webserver als Frontend installiert und ich habe j2ee SAP Netweaver Application Server im Intranet-Server installiert. Wie kann ich Apache konfigurieren, um Anfragen und Antworten an/von j2ee App Server weiterzuleiten? zum Beispiel ist IP des externen Apache-Servers 9.20.1.1:80. interne sap Server-Adresse ist 192.168.0.1/sap/bc/gui/sap/its/webgui?sap_client=200 Ich möchte Zugriff auf meine sap App Server zum Beispiel 9.20.1.1/sapserver/sap/bc/gui/sap/ ? its/webgui sap_client = 200Wie konfiguriert man Apache als Proxy (Load Balancer) für den j2ee Server?

Antwort

4

Sie haben Load Balancing erwähnt - vermutlich möchten Sie also weitere Anwendungsserver hinzufügen können, die über eine einzige Adresse bedient werden. Ich hoffe, dass sie staatenlos sind oder Sitzungsinformationen in einer Datenbank speichern. Sie können Apache als Reverse-Proxy-Lastenausgleich mit mod_proxy_balancer verwenden. Dokumente sind here.

Hier ist ein Beispiel, was Sie zu Ihrer httpd.conf von this link hinzufügen können.

<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

Angenommen, Sie haben mod_proxy aktiviert ist, fügen Sie sind sites-available:

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

aber vorsichtig sein, da dies Ihre interne Website auf das gesamte Internet verfügbar macht.

+0

Funktioniert nicht sehr gut. Ich habe Probleme mit der Bildwiedergabe und den Seitenstilen (j2ee-Anwendung) festgestellt. Seite gerendert ohne Grafiken und CSS-Stile. Was kann ich dir raten? –

+0

Können Sie überprüfen, dass die J2EE-App nicht über absolute URLs auf die Bilder und das CSS verweist, anstatt relativ? –

2

Dies wird oft fälschlicherweise als Reverse-Proxy bezeichnet. Wenn Sie eine Suchmaschine verwenden, um "Reverse Proxy Apache" zu finden, werden Sie viele gute Ergebnisse erhalten.

Die schnelle Antwort ist, so etwas zu Ihrem apache.conf

Proxypass/sap/192.168.0.1/sap/

< Lage/sap />

ProxyPassReverse /sap/ 
hinzufügen

Siehe auch die modrewrite rools und die Option [P].

+1

Eigentlich ist dies ein Reverse-Proxy. Ein Forward-Proxy ist ein Host, der Anforderungen zum Bereitstellen von Caching und Filtern kanalisiert. Ich weiß nicht, warum Sie sagen würden, dass es fälschlicherweise als Reverse Proxy bezeichnet wird. – MattMcKnight

Verwandte Themen