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)
  • 웹 서버(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 버전을 받아들이지 않는 것이 문제였습니다. stunnel이 "routines:SSL3_GET_RECORD:wrong version number"를 보고하고 있다는 것을 syslog에서 발견한 후 다음에서 해결책을 찾았습니다.https://serverfault.com/a/303851/69972

관련 정보