proxy:error AH00898: Error durante el protocolo de enlace SSL con el servidor remoto

proxy:error AH00898: Error durante el protocolo de enlace SSL con el servidor remoto

Tengo un servidor que actúa como interfaz para un servidor de correo cPanel en una red. El proxy Apache en el servidor front-end funcionó durante 152 días sin fallas y, de repente, recibo errores 500/502 cuando lo uso para acceder a los clientes de correo web del servidor de correo.

El servidor front-end utiliza un certificado SSL firmado, el servidor cPanel utiliza un certificado autofirmado. Aquí está el resultado del registro de errores del servidor front-end cuando comenzó a ocurrir:

[Tue Sep 10 18:22:52.959291 2013] [proxy:error] [pid 19531] (502)Unknown error 502: [client 173.xx.xx.xx:9558] AH01084: pass request body failed to 184.xx.xx.xx:2096 (184.xx.xx.xx), referer: https://domain.com:2096/cpsess12385596/3rdparty/roundcube/?_task=mail&_refresh=1&_mbox=INBOX

[Tue Sep 10 18:22:52.959469 2013] [proxy:error] [pid 19531] [client 173.xx.xx.xx:9558] AH00898: Error during SSL Handshake with remote server returned by /cpsess12385596/3rdparty/roundcube/, referer: https://domain.com:2096/cpsess12385596/3rdparty/roundcube/?_task=mail&_refresh=1&_mbox=INBOX

El servidor front-end es una instancia EC2 que ejecuta Apache/2.4.6 (Amazon) My VirtualHost. La configuración para el proxy en este servidor es la siguiente:

< VirtualHost *:2096> ServerName domain.com

SSLEngine on
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off

SSLCertificateFile /x/x/x/domain.com.crt
SSLCertificateKeyFile /x/x/x/domain.com.key
SSLCACertificateFile /x/x/x/domain.com.cabundle

ProxyPass / https://184.xx.xx.xx:2096/
ProxyPassReverse / https://184.xx.xx.xx:2096/
ProxyPassReverseCookieDomain 184.xx.xx.xx:2096 domain.com
ProxyPassReverseCookiePath / /

SetOutputFilter INFLATE;proxy-html;DEFLATE
ProxyHTMLURLMap https://184.xx.xx.xx:2096 /

< /VirtualHost>

Hasta donde puedo pensar, nada ha cambiado en el servidor front-end, no hice una actualización ni nada, una vez que noté este problema y jugueteé sin éxito, intenté reiniciar ambos servidores pero no hizo nada para solucionarlo.

¿Alguna sugerencia?

Respuesta1

Encontré el mismo problema con la versión del servidor: Apache/2.4.6

Según la documentación en [1], "En 2.4.5 y posteriores, SSLProxyCheckPeerCN ha sido reemplazado por SSLProxyCheckPeerName, y su configuración solo se tiene en cuenta cuando se especifica SSLProxyCheckPeerName desactivado al mismo tiempo.".

Entonces agregar la siguiente entrada funcionó:

SSLProxyCheckPeerName desactivado

Entonces mi configuración de trabajo se ve así...

    ProxyRequests Off

    SSLEngine On
    SSLProxyEngine On
    SSLProxyVerify none
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerName off

    SSLCertificateFile /x/x/keys/server.crt
    SSLCertificateKeyFile /x/x/keys/server.key

[1]http://httpd.apache.org/docs/2.4/mod/mod_ssl.html

Respuesta2

Si el servidor backend utiliza un certificado autofirmado desactualizado, se necesita una opción más (si no hay acceso al servidor backend):

SSLProxyCheckPeerExpire off

Respuesta3

También recibo el mismo error, pero en mi caso, la respuesta aceptada aquí resolvió este error:https://stackoverflow.com/questions/47718508/apache-proxypass-https-and-remote-server-with-sni

yo añadí

ProxyAddHeaders off
ProxyPreserveHost off

Respuesta4

No olvide reiniciar el servidor back-end después de renovar sus certificados, en caso de que no detecte si los archivos de los certificados se han actualizado. Por lo tanto, no necesitará establecer la SSLProxyCheckPeerExpire offdirectiva.

información relacionada