SSL을 사용하는 Apache ProxyPass


59

SSL이 아닌 사이트를 통해 SSL 사이트의 요청을 프록시하고 싶습니다. 내 Apache httpd.conf는 다음과 같습니다.

<VirtualHost 1.2.3.4:80>
    ServerName foo.com
    ProxyPass / https://bar.com/
</VirtualHost>

따라서 http://foo.com을 방문하면 아파치가 https://bar.com을 요청하여 가져온 페이지를 보내 줄 것으로 기대 합니다.

대신 500 오류가 발생하고 오류 로그에 다음이 표시됩니다.

[error] proxy: HTTPS: failed to enable ssl support for 4.3.2.1:443 (bar.com)

아마도 여기에 지시문이 없습니다. 어느 쪽일까요?

보안 관련 사항을 신경 쓰지 마십시오. 나는 위험을 완전히 이해합니다.


어떤 버전의 Apache를 사용하고 있습니까?
Sam Halicke

1
"보안 관련 사항은 신경 쓰지 마십시오. 위험을 완전히 이해합니다." -이것은 "나의 맥주를 홀드"와 동등한 devops입니다; )
Eric Kigathi

답변:


70

당신이 필요합니다 mod_ssl, mod_proxy그리고 선택적으로 mod_rewrite. 배포 및 아파치 버전에 따라이 있는지 확인해야 mod_proxy_connect하고 mod_proxy_http뿐만 아니라로드됩니다.

SSL 프록시 지원을 활성화하기위한 지시문은 mod_ssl에 있습니다.

<VirtualHost 1.2.3.4:80>
    ServerName foo.com
    SSLProxyEngine On
    SSLProxyCheckPeerCN on
    SSLProxyCheckPeerExpire on
    ProxyPass / https://secure.bar.com
    ProxyPassReverse / https://secure.bar.com
</VirtualHost>

IIRC를 사용할 수도 있습니다 :

    RewriteRule / https://secure.bar.com [P]    # don't forget to setup SSLProxy* as well

2

Apache 1.x에서는 mod_sslProxyPass를 수정했습니다. 당신은 한하십니까 mod_ssl설치되어 있습니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.