proxy: erreur AH00898: Erreur lors de la prise de contact SSL avec le serveur distant


16

J'ai un serveur qui agit comme un frontal pour un serveur de messagerie cPanel dans un réseau. Le proxy apache sur le serveur frontal a fonctionné pendant 152 jours sans faute, puis soudain, j'obtiens maintenant des erreurs 500/502 lorsque je l'utilise pour accéder aux clients de messagerie Web du serveur de messagerie.

Le serveur frontal utilise un certificat SSL signé, le serveur cPanel utilise un certificat auto-signé. Voici la sortie du journal des erreurs du serveur frontal lors de son premier démarrage:

[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

Le serveur frontal est une instance EC2 exécutant la Apache/2.4.6 (Amazon) configuration My VirtualHost pour le proxy sur ce serveur:

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

Pour autant que je puisse penser que rien n'a changé sur le serveur frontal, je n'ai pas fait de mise à jour ou quoi que ce soit, une fois que j'ai remarqué ce problème et que j'ai triomphé sans succès, j'ai essayé un redémarrage sur les deux serveurs mais cela n'a rien fait pour résoudre ce problème.

Aucune suggestion?

Réponses:


32

Je suis tombé sur le même problème avec la version du serveur: Apache / 2.4.6

Selon la documentation de [1], " Dans 2.4.5 et versions ultérieures, SSLProxyCheckPeerCN a été remplacé par SSLProxyCheckPeerName et son paramètre n'est pris en compte que lorsque SSLProxyCheckPeerName off est spécifié en même temps ."

L'ajout de l'entrée suivante a donc fait l'affaire:

SSLProxyCheckPeerName désactivé

Donc ma configuration de travail ressemble à ...

    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
Notez que « SSLEngine On » ne concerne pas la partie proxy de la configuration, mais avec service cette demande via SSL / TLS, même si elle est regroupée avec les options de configuration proxy.
Perséides

14

Si le serveur principal utilise un certificat auto-signé obsolète, une option supplémentaire est nécessaire (s'il n'y a pas d'accès au serveur principal):

SSLProxyCheckPeerExpire off

Cela a fonctionné pour moi en migrant un proxy inverse d'Apache 2.2 vers 2.4
Segolas
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.