J'ai un serveur qui fait office de serveur 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 lors de son utilisation 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 sa première apparition:
[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 Apache/2.4.6 (Amazon)
Ma configuration VirtualHost pour le proxy sur ce serveur est la suivante:
< 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 /
</code>
</ 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 je n'ai pas réussi, j'ai essayé un redémarrage sur les deux serveurs, mais cela n'a rien fait pour résoudre ce problème.
Aucune suggestion?
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
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