我有一个服务器,作为networking中的cPanel邮件服务器的前端。 前端服务器上的apache代理运行了152天,没有任何错误,现在突然间我用500/502的错误来访问邮件服务器的webmail客户端。
前端服务器使用签名的SSL证书,cPanel服务器使用自签名证书。 这是前端服务器首次启动时的错误日志输出:
[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:SSL握手过程中由于/ cpsess12385596 / 3rdparty / roundcube / ,referer: https ://domain.com:2096/cpsess12385596/3rdparty/roundcube/ ? _task = mail & _refresh =1& _mbox = INBOX
前端服务器是一个运行Apache/2.4.6 (Amazon)的EC2实例。我的VirtualHost安装在这台服务器上的代理如下:
< 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>
据我所知,前端服务器没有任何变化,我没有做任何更新或任何事情,一旦注意到这个问题,并没有成功摆弄我试图在两台服务器上重新启动,但没有做任何事情来解决这个问题。
有什么build议么?
遇到与服务器版本相同的问题:Apache / 2.4.6
根据[1]中的文档,“ 在2.4.5和更高版本中,SSLProxyCheckPeerCN已被SSLProxyCheckPeerName取代,并且只有在同时指定SSLProxyCheckPeerName off时才考虑其设置 。
所以添加以下条目的诀窍:
SSLProxyCheckPeerNameclosures
所以我的工作configuration看起来像…
ProxyRequests Off SSLEngine On SSLProxyEngine On SSLProxyVerify none SSLProxyCheckPeerCN off SSLProxyCheckPeerName off SSLCertificateFile /x/x/keys/server.crt SSLCertificateKeyFile /x/x/keys/server.key
如果后端服务器使用过时的自签名证书,则需要另外一个选项(如果没有对后端服务器的访问):
SSLProxyCheckPeerExpire off