viernes, noviembre 07, 2008
Apache 2 + OWA Front end [Proxy ERROR]
Esta entrada no habla sobre como configurar un Apache haciendo de front end para una OWA [de eso se encarga muy bien esta entrada > http://www.debian-administration.org/articles/411 ], sino de como solucionar un problema "aleatorio" que se genera al consultar las paginas del OWA.

Si te pasa que despues de un rato de estar usando el OWA, en el browser te aparece "Proxy error" o "Gateway error" o una pagina de "Error 502", llegaste al lugar indicado :P

Lo que sucede tecnicamente, es que cada vez que el mod_proxy del Apache, establece una conexion con el servidor interno (en este caso IIS), no corta las conexiones que generó con el fin de poder utilizarla de nuevo en otra peticion. Lamentablemente, IIS noopina lo mismo :P

IIS corta la conexion, y debido a una "race-condition"...cuando mod_proxy intenta usar la conexion "pooleada", se encuentra con que esta "murio" y se genera un error.

Para solucionar esto los tipos de Apache, incluyeron un parametro que debe colocarse en httpd.conf o en el archivo de tu host virtual; y es:

proxy-initial-not-pooled 1

Esta variable de entorno solo esta disponible a partir de la version 2.2.10 de
Apache.


Con esa linea magica, lo que se hace es NO poolear conexiones; Soluciona el
problema, pero trae consigo un tema de performance ya que se debe de establecer
una conexion nueva por cada Request al Proxy.


[Editado]
Otra opcion, es modificar el timeout de conexion del IIS que hostea al OWA y
ponerlo en 86400 (1 dia), este es un hack sucio, asqueroso, y desprolijo por
demás...
pero, quien esté libre de parches, que tire la primera piedra! :P


Otra opcion más? Usar 'Pound' para realizar esta tarea. Pound es un Reverse Proxy
y Load Balancer pequeño pero muy versátil. Vale la pena mirar lo que hace y
leer sobre el.

Séxitos

[DevNull]

Etiquetas: , , , , , , ,

 
posted by [DevNull] at 1:14 a. m. | Permalink |


0 Comments: