web-dev-qa-db-ja.com

proxy:error AH00898:リモートサーバーとのSSLハンドシェイク中にエラーが発生しました

ネットワーク内のcPanelメールサーバーのフロントエンドとして機能するサーバーがあります。フロントエンドサーバー上のApacheプロキシは152日間問題なく動作しましたが、それを使用してメールサーバーのWebメールクライアントにアクセスすると、突然500/502エラーが発生します。

フロントエンドサーバーは署名付き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: 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_

フロントエンドサーバーは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 /
_ </ code>

</仮想ホスト>

フロントエンドサーバーで何も変更されていないと思う限り、私は更新や何もしませんでした。一度この問題に気づき、成功しなかったので、両方のサーバーで再起動を試みましたが、これを修正するために何もしませんでした。

助言がありますか?

16
DePages

サーバーのバージョンで同じ問題が発生しました:Apache/2.4.6

[1]のドキュメントに従って、「2.4.5以降では、SSLProxyCheckPeerCNはSSLProxyCheckPeerNameに置き換えられ、SSLProxyCheckPeerName offが同時に指定されている場合にのみ、その設定が考慮されます。 。」

したがって、次のエントリを追加するとうまくいきます。

SSLProxyCheckPeerName off

だから私の作業設定は次のようになります...

    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

32

バックエンドサーバーが古い自己署名証明書を使用する場合、もう1つのオプションが必要です(バックエンドサーバーにアクセスできない場合)。

SSLProxyCheckPeerExpire off
14
Milan Kerslager