Apache ProxyPass com SSL

57

Eu quero fazer proxy de solicitações de um site SSL por meio de um site não SSL. Meu Apache httpd.conf tem esta aparência:

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

Então, quando visitar o link , espero que o apache faça uma solicitação para link e envie-me a página que buscou.

Em vez disso, recebo um erro 500 e, no log de erros, vejo:

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

Presumivelmente, estou perdendo uma diretriz aqui. Qual pode ser?

Não importa as implicações de segurança. Compreendo perfeitamente os riscos.

    
por tylerl 15.11.2009 / 02:21

2 respostas

66

Você precisará de mod_ssl , mod_proxy e, opcionalmente, mod_rewrite . Dependendo da sua distribuição e da versão do Apache, você pode ter que verificar se mod_proxy_connect e mod_proxy_http também estão carregados.

As diretivas para ativar o suporte ao proxy SSL estão em 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 você também pode usar:

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

No Apache 1.x, mod_ssl consertaria o ProxyPass. Você tem mod_ssl instalado?

    
por 15.11.2009 / 02:39