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