apache - upstream - no puedo instalar youtube error 504
El servidor proxy recibió una respuesta no válida de un servidor en sentido ascendente (1)
Tenemos una aplicación implementada en Tomcat. Para acceder a la aplicación estamos utilizando apache que envía solicitudes a tomcat. Al azar, el navegador da la siguiente respuesta.
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /sampleapp/<http://samplehost.com:8080/sampleapp/>.
Reason: Error reading from remote server
________________________________
Apache/2.2.21 (Unix) Server at samplehost.com Port 8080
Este error no siempre llega y hasta ahora lo estamos obteniendo en una máquina cliente con IE solamente. En la misma máquina cliente con Firefox, funciona bien.
A continuación se muestra el seguimiento de errores de los registros de Apache para una solicitud fallida
[Thu Mar 22 02:51:08 2012] [error] [client 10.36.64.137] (20014)Internal error: proxy: error reading status line from remote server localhost:8081, referer: http://samplehost.com:8080/sampleapp/opp/showSearchHome.htm
[Thu Mar 22 02:51:08 2012] [error] [client 10.36.64.137] proxy: Error reading from remote server returned by /sampleapp/opp/searchResult.htm, referer: http://samplehost.com:8080/sampleapp/opp/showSearchHome.htm
No se imprime nada en los registros de tomcat cuando una solicitud está fallando.
A continuación se muestra la versión instalada relacionada con la información de apache
-bash-3.00$ ./httpd -v
Server version: Apache/2.2.21 (Unix)
Server built: Sep 21 2011 20:00:58
Cuando intento averiguar los módulos cargados obtengo un error de seguimiento
-bash-3.00$ /usr/local/apache2/bin/apachectl -t -D DUMP_MODULES
httpd: Syntax error on line 64 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_authnz_ldap.so into server: ld.so.1: httpd: fatal: libldap-2.4.so.2: open failed: No such file or directory
Esto no se menciona en su publicación, pero sospecho que está iniciando una conexión SSL desde el navegador a Apache, donde están configurados VirtualHosts, y Apache hace un revese proxy a su Tomcat.
Hay un error grave en (¿algunas versiones?) De IE que envía la información de host "incorrecta" en una conexión SSL (ver EDITAR abajo) y confunde los Apache VirtualHosts. En resumen, el nombre del servidor presentado es el de la resolución DNS inversa de la IP, no la de la URL.
La solución consiste en tener una dirección IP por cada servidor / nombre de servidor virtual SSL. Es corto, debes terminar con algo así como
1 nombre del servidor == 1 dirección IP == 1 certificado == 1 Apache Virtual Host
EDITAR
Aunque la conclusión es correcta, la identificación del problema se describe mejor aquí http://en.wikipedia.org/wiki/Server_Name_Indication