proxy: errore AH00898: errore durante l'handshake SSL con il server remoto


16

Ho un server che funge da front-end per un mailserver cPanel in una rete. Il proxy apache sul server front-end ha funzionato per 152 giorni senza errori, quindi all'improvviso ora ricevo errori 500/502 quando lo utilizzo per accedere ai client webmail del mailserver.

Il server front-end utilizza un certificato SSL firmato, il server cPanel utilizza un certificato autofirmato. Ecco l'output del log degli errori dal server front-end al primo avvio:

[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

Il server front-end è un'istanza EC2 che esegue la Apache/2.4.6 (Amazon) configurazione di My VirtualHost per il proxy su questo server è la seguente:

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

Per quanto riesco a pensare che nulla sia cambiato sul server front-end, non ho fatto alcun aggiornamento o altro, una volta notato questo problema e armeggiare senza successo ho provato a riavviare su entrambi i server ma non ha fatto nulla per risolvere questo problema.

Eventuali suggerimenti?

Risposte:


32

Si è verificato lo stesso problema con la versione Server: Apache / 2.4.6

Secondo la documentazione in [1], " In 2.4.5 e versioni successive, SSLProxyCheckPeerCN è stato sostituito da SSLProxyCheckPeerName e la sua impostazione viene presa in considerazione solo quando SSLProxyCheckPeerName è disattivato contemporaneamente ".

Quindi l'aggiunta della seguente voce ha fatto il trucco:

SSLProxyCheckPeerName disattivato

Quindi la mia configurazione di lavoro sembra ...

    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


1
Tieni presente che "SSLEngine attivo" non riguarda la parte proxy della configurazione, ma la pubblicazione di questa richiesta tramite SSL / TLS, anche se è raggruppata con le opzioni di configurazione proxy.
Perseidi,

14

Se il server back-end utilizza un certificato autofirmato obsoleto, è necessaria un'altra opzione (se non è possibile accedere al server back-end):

SSLProxyCheckPeerExpire off

Questo ha funzionato per me migrando un proxy inverso da apache 2.2 a 2.4
Segolas,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.