有時,當我透過 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