Me enfrento a un error 502 aleatorio en mis servidores web.
Tasa: 0,5%
Error en mis registros: Error de biblioteca SSL: error 336151568: 14094410: rutinas SSL: SSL3_READ_BYTES: error de protocolo de enlace de alerta sslv3
Versión OpenSSL: OpenSSL 1.0.0-fips 29 de marzo de 2010
Red No puedo publicar imágenes, así que aquí hay un enlace al esquema de mi red: https://i.stack.imgur.com/oOOnL.jpg y la misma imagen con otro proveedor de alojamiento:http://s28.postimg.org/q9012t8l7/error502.jpg
Algunos detalles:
Alojo aplicaciones JEE en un Tomcat 7.0.37
Cuando alguien intenta conectarse a una de esas aplicaciones, se conecta a la IP externa de mi enrutador. El enrutador lo redirige a mi DMZ.
Configuración de Apache en la DMZ
<VirtualHost *:443>
ServerName www.myapp.fr
ServerAlias myapp.fr
RedirectMatch ^/$ /CRA
ProxyRequests Off
SSLEngine on
SSLProxyEngine on
SSLCertificateFile /etc/ssl/certs/www.myapp.fr.pem
ProxyPass / https://myapp.fr/
ProxyPassReverse / https://myapp.fr/
LogLevel info
CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/myapp.fr/SSL.myapp.fr_access.%Y-%m-%d.log 5M" combined
ErrorLog "|/usr/sbin/rotatelogs /var/log/httpd/myapp.fr/SSL.myapp.fr_error.%Y-%m-%d.log 5M"
</VirtualHost>
Myapp.fr se define en /etc/hosts como 192.168.1.51, la IP de un servidor web
La DMZ utiliza ProxyPass para este servidor web. Este servidor web se utiliza para pasar ProxyPass al servidor de aplicaciones real.
Configuración de Apache en el servidor web
<VirtualHost *:443>
ServerName myapp.fr
RedirectMatch ^/$ https://myapp.fr/Collaborateurs/
ProxyRequests Off
SSLCertificateFile /etc/ssl/certs/www.myapp.fr.pem
SSLProxyEngine On
SSLEngine on
ProxyPass /Collaborateurs/ https://ApplicationServer:8443/Collaborateurs/
ProxyPassReverse /Collaborateurs/ https://ApplicationServer:8443/Collaborateurs/
LogLevel info
CustomLog "|/usr/sbin/rotatelogs ${APACHE_LOG_DIR}/myapp/SSL.myapp.fr_access.%Y-%m-%d.log 5M" combined
ErrorLog "|/usr/sbin/rotatelogs ${APACHE_LOG_DIR}/myapp/SSL.myapp.fr_error.%Y-%m-%d.log 5M"
</VirtualHost>
Aquí está el problema. A veces aparece un error aleatorio en mis registros, correspondiente a un error de puerta de enlace incorrecta (502) para el usuario.
registros de /var/log/httpd/myapp.fr/SSL.myapp.fr_error.%Y-%m-%d.log:
[Mon Dec 23 08:58:31 2013] [info] Seeding PRNG with 136 bytes of entropy
[Mon Dec 23 08:58:31 2013] [info] Initial (No.1) HTTPS request received for child 11 (server myapp.fr:443)
[Mon Dec 23 08:58:31 2013] [info] [client 192.168.1.52] Connection to child 0 established (server myapp.fr:443)
[Mon Dec 23 08:58:31 2013] [info] Seeding PRNG with 136 bytes of entropy
[Mon Dec 23 08:58:31 2013] [info] [client 192.168.1.52] SSL Proxy connect failed
[Mon Dec 23 08:58:31 2013] [info] SSL Library Error: 336151568 error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
[Mon Dec 23 08:58:31 2013] [info] [client 192.168.1.52] Connection closed to child 0 with abortive shutdown (server myapp.fr:443)
[Mon Dec 23 08:58:31 2013] [error] (502)Unknown error 502: proxy: pass request body failed to 192.168.1.52:8443 (ApplicationServer.domain.lan)
[Mon Dec 23 08:58:31 2013] [error] proxy: pass request body failed to 192.168.1.52:8443 (ApplicationServer.red.lan) from 10.0.0.2 ()
Aquí están los mismos registros, cuando no se produce ningún error:
[Mon Dec 23 09:08:30 2013] [info] Initial (No.1) HTTPS request received for child 8 (server myapp.fr:443)
[Mon Dec 23 09:08:30 2013] [info] Initial (No.1) HTTPS request received for child 0 (server myapp.fr:443)
[Mon Dec 23 09:08:30 2013] [info] [client 192.168.1.52] Connection to child 0 established (server myapp.fr:443)
[Mon Dec 23 09:08:30 2013] [info] Seeding PRNG with 136 bytes of entropy
[Mon Dec 23 09:08:31 2013] [info] Initial (No.1) HTTPS request received for child 3 (server myapp.fr:443)
[Mon Dec 23 09:08:31 2013] [info] [client 192.168.1.52] Connection to child 0 established (server myapp.fr:443)
[Mon Dec 23 09:08:31 2013] [info] Seeding PRNG with 136 bytes of entropy
No puedo entender por qué ocurre este error. ¿Alguien tiene una idea? Gracias por tu eventual ventaja y perdón por mi mal inglés: D
Respuesta1
La conexión del proxy SSL falla significa que ha habido algún tipo de error de red entre su servidor web y su servidor de aplicaciones, antes de que se completara el protocolo de enlace SSL. Sin obtener rastros de paquetes (y muchos más) de su red, es prácticamente imposible descubrir exactamente por qué falló la conexión TCP. Sin embargo, buscaría congestión de la red o cargas muy altas en el servidor de aplicaciones en el momento de los errores.
Respuesta2
La integración de Hyper-V fue el problema:
La actualización de los componentes de integración de Linux de 3.4 a 3.5 en el servidor proxy lo solucionó.