proxy:error AH00898: Erro durante o handshake SSL com servidor remoto

proxy:error AH00898: Erro durante o handshake SSL com servidor remoto

Eu tenho um servidor que atua como front-end para um servidor de e-mail cPanel em uma rede. O proxy apache no servidor front-end funcionou por 152 dias sem falhas e, de repente, recebo erros 500/502 ao usá-lo para acessar os clientes de webmail do servidor de e-mail.

O servidor front-end usa um certificado SSL assinado, o servidor cPanel usa um certificado autoassinado. Aqui está a saída do log de erros do servidor front-end quando isso começou a acontecer:

[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

O servidor front-end é uma instância EC2 executando Apache/2.4.6 (Amazon) a configuração My VirtualHost para o proxy neste servidor é a seguinte:

< 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>

Pelo que posso imaginar, nada mudou no servidor front-end, não fiz nenhuma atualização nem nada, ao perceber esse problema e mexer sem sucesso, tentei reiniciar os dois servidores, mas não fez nada para corrigir isso.

Alguma sugestão?

Responder1

Encontrei o mesmo problema com a versão do servidor: Apache/2.4.6

De acordo com a documentação em [1], "Na versão 2.4.5 e posterior, SSLProxyCheckPeerCN foi substituído por SSLProxyCheckPeerName e sua configuração só é levada em consideração quando SSLProxyCheckPeerName off é especificado ao mesmo tempo."

Portanto, adicionar a seguinte entrada resolveu o problema:

SSLProxyCheckPeerName desativado

Então minha configuração de trabalho se parece com ...

    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

Responder2

Se o servidor backend usar certificado autoassinado desatualizado, mais uma opção será necessária (se não houver acesso ao servidor backend):

SSLProxyCheckPeerExpire off

Responder3

Também estou recebendo o mesmo erro, mas no meu caso, a resposta aceita aqui resolveu este erro:https://stackoverflow.com/questions/47718508/apache-proxypass-https-and-remote-server-with-sni

Eu adicionei

ProxyAddHeaders off
ProxyPreserveHost off

Responder4

Não se esqueça de reiniciar o servidor back-end após renovar seus certificados, caso não detecte se os arquivos de certificados foram atualizados. Portanto, você não precisará definir a SSLProxyCheckPeerExpire offdiretiva.

informação relacionada