2008-10-13 26 views
6

Tengo el servidor web Apache instalado como frontend y tengo j2ee SAP Netweaver Application Server instalado en el servidor de Intranet. ¿Cómo puedo configurar Apache para reenviar solicitudes y respuestas a/desde el servidor de la aplicación j2ee? por ejemplo, el IP del servidor apache externo es 9.20.1.1:80. La dirección del servidor interno de sap es 192.168.0.1/sap/bc/gui/sap/its/webgui?sap_client=200 Quiero acceder a mi servidor de aplicaciones sap, por ejemplo 9.20.1.1/sapserver/sap/bc/gui/sap/ ? su/webgui sap_client = 200¿Cómo configurar Apache para que funcione como proxy (balanceador de carga) para el servidor j2ee?

Respuesta

4

Ha mencionado el equilibrio de carga, por lo que, presumiblemente, desea poder agregar más Servidores de aplicaciones atendidos a través de una sola dirección. Espero que sean apátridas o que almacenen información de sesión en una base de datos. Puede utilizar Apache para servir como un equilibrador de carga de proxy inverso con mod_proxy_balancer. Los documentos son here.

Aquí hay un ejemplo de qué agregar a su httpd.conf desde 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

Asumiendo que tiene mod_proxy habilitado, añadir a que estés sites-available:

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

Ten cuidado, ya esto no exponer a su sitio interno a la totalidad de Internet.

+0

No funciona bastante bien. He tenido problemas con la representación de imágenes y estilos de página (aplicación j2ee). Página renderizada sin gráficos y estilos CSS. ¿Qué puedo aconsejar? –

+0

¿Puedes verificar que la aplicación J2EE no haga referencia a las imágenes y CSS a través de URL absolutas en lugar de relativas? –

2

Esto a menudo se conoce como proxy inverso. Si utiliza un motor de búsqueda para encontrar "proxy apache inverso" obtendrá muchos buenos resultados.

La respuesta rápida es añadir algo como esto a su apache.conf

ProxyPass/SAP/192.168.0.1/sap/

< Ubicación/SAP />

ProxyPassReverse /sap/ 

</Ubicación>

Ver también los modolsrite rools y la opción [P].

+1

En realidad, este es un proxy inverso. Un proxy directo es un host que canaliza las solicitudes para proporcionar el almacenamiento en caché y el filtrado. No sé por qué dirías que se lo conoce "erróneamente" como un proxy inverso. – MattMcKnight

Cuestiones relacionadas