Ich habe einen Server, der als Front-End für einen cPanel-Mailserver in einem Netzwerk fungiert. Der Apache-Proxy auf dem Front-End-Server lief 152 Tage ohne Fehler, dann bekomme ich plötzlich 500/502 Fehler, wenn ich ihn für den Zugriff auf die Webmail-Clients des Mailservers verwende.
Der Front-End-Server verwendet ein signiertes SSL-Zertifikat, der cPanel-Server verwendet ein selbstsigniertes Zertifikat. Hier ist das Fehlerprotokoll, das vom Front-End-Server ausgegeben wurde, als es zum ersten Mal auftrat:
[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
Der Front-End-Server ist eine EC2-Instanz, auf der das Apache/2.4.6 (Amazon)
My VirtualHost-Setup für den Proxy auf diesem Server wie folgt ausgeführt wird:
< 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>
Soweit ich denken kann, hat sich auf dem Front-End-Server nichts geändert, ich habe kein Update durchgeführt oder so, als ich dieses Problem bemerkte und erfolglos herumfummelte, habe ich auf beiden Servern einen Neustart versucht, aber nichts getan, um dies zu beheben.
Irgendwelche Vorschläge?
quelle
Wenn der Back-End-Server ein veraltetes selbstsigniertes Zertifikat verwendet, ist eine weitere Option erforderlich (falls kein Zugriff auf den Back-End-Server besteht):
quelle