2009-11-24 13 views
7

Tengo un servidor apache 2.2 delante de un servidor tomcat 6. usando mod_proxy_ajp en apache para solicitudes de proxy a tomcat. bastante configuración estándar.proxy apache a tomcat mantener viva la confusión

Si necesito desactivar las conexiones keep-alive para navegadores, ¿cómo puedo hacer esto?

Necesito desactivar las solicitudes http de mantener vivo porque sospecho que algunos de mis usuarios tienen firewalls que pueden estar cayendo una conexión keep-alive no activa que ocasiona problemas al azar.

Hay varios bits y piezas de configuración 'keep alive' tanto en apache como en tomcat.

httpd.conf tiene el estado "activo Off" (que no parece estar haciendo una diferencia en mi caso)

también en httpd.conf donde se define ProxyPass, puede tener un parámetro de estado "activo", pero esto solo se supone que ayuda si hay proxies/firewalls entre mi apache y tomcat, que no existe en mi caso y no es el problema.

Tomcat, el conector http tiene "keepAliveTimeout" y "maxKeepAliveRequests" pero esto es solo para conectores http.

El conector ajp de tomcat también tiene un "keepAliveTimeout", pero esto es para solicitudes ajp provenientes de apache, no estoy seguro si esto debe/fluye a la solicitud HTTP real desde el navegador a apache.

Para colmo, también existe la diferenciación HTTP1.0 vs HTTP1.1.

Así que se vuelve confuso ... ¿alguien puede explicarlo?

+0

Me pregunto por qué quiere deshabilitar la característica de mantener vivo. – Stephane

Respuesta

12

Hay (al menos) cuatro "keep-alive" s.

  1. Capa HTTP keep-alive entre el navegador del cliente y Apache. (Habilita varias solicitudes de cliente en una conexión HTTP/TCP. Directiva "KeepAlive" para configurar.)

  2. Capa TCP keep-alive entre el navegador del cliente y Apache. (Para evitar que la conexión sea cerrada por firewalls, envíe el paquete vacío periódicamente (alrededor de 2 horas por defecto en Linux). No sé cómo configurarlo en Apache)

  3. Capa AJP keep-alive entre Apache y Gato. (Habilita múltiples solicitudes Apache en una conexión AJP/TCP. "Max" y "smax" opciones para configurar "ProxyPass")

  4. Capa TCP keep-alive entre Apache y Tomcat. (Igual que 2, pero para firewall entre Apache y Tomcat. Opción “Keep Alive” para “ProxyPass” directiva para configurar.)

lo tanto, su configuración (estado “activo off”) podría funcionar correctamente para los cortafuegos dentro de cliente y Apache. Utilice la directiva "% X" para "LogFormat" para verificar si Keep-alive (del tipo 1 anterior) estaba deshabilitado.

Por cierto, creo que el cierre de la conexión por firewalls no causa un problema serio cuando "KeepAliveTimeout" no es tan grande. Si no tiene ningún problema (aparte de los mensajes de advertencia), en mi opinión, puede irse como está.

Cuestiones relacionadas