502: プロキシ: リクエスト本文の受け渡しに失敗しました

502: プロキシ: リクエスト本文の受け渡しに失敗しました

https 経由でサイトを表示すると、次のエラー (Apache の error.log に) が表示されることがあります。

(502)Unknown error 502: proxy: pass request body failed to xxx.xxx.xxx.xxx:443

これが何なのか、なぜ起こるのかはよくわかりません。また、一貫性もありません。

リクエストルートは次のとおりです。

  • ブラウザ
  • プロキシ サーバー (mod_proxy + mod_ssl を使用した apache)
  • ロードバランサー(aws)
  • Web サーバー (mod_ssl 付き apache)

プロキシ サーバーの構成は次のとおりです。

<VirtualHost *:443>
    ProxyRequests Off
    ProxyVia On

    ServerName                      www.xxx.co.uk
    ServerAlias                     xxx.co.uk

    <Directory proxy:*>
        Order deny,allow
        Allow from all
    </Directory>

    <Proxy *>
        AddDefaultCharset off
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass / balancer://cluster:443/ lbmethod=byrequests
    ProxyPassReverse / balancer://cluster:443/
    ProxyPreserveHost off

    SSLProxyEngine On
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile /var/www/vhosts/xxx/ssl/www.xxx.co.uk.cert
    SSLCertificateKeyFile /var/www/vhosts/xxx/ssl/www.xxx.co.uk.key

    <Proxy balancer://cluster>
        BalancerMember https://xxx.eu-west-1.elb.amazonaws.com
    </Proxy>

</VirtualHost>

何が問題なのか分かりますか?

答え1

私の場合、問題はバックエンド(stunnel)がApacheが送信するSSLバージョンを受け入れないことでした。syslogでstunnelが「routines:SSL3_GET_RECORD:wrong version number」と報告していることがわかり、解決策を見つけました。https://serverfault.com/a/303851/69972

関連情報