Apache ReverseProxy ssl

0

Eu tenho a seguinte configuração do ReverseProxy que funciona para solicitações http:

NameVirtualHost *:80
<VirtualHost *:80>
ServerName sub.domain.com
ProxyRequests Off
ProxyVia Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>                              
ProxyPass / http://localhost:5010
ProxyPassReverse / http://localhost:5010/
</VirtualHost>

A minha pergunta é: como posso tratar de pedidos de https também se o meu back-end (em: 5010) não suportar https?

Então, por exemplo, algo assim: Cliente --- https --- > Apache ---- http ---- > Serviço

    
por PiMaker 10.04.2015 / 13:43

1 resposta

1

O método de transporte da conexão entre o cliente e esta instância httpd é totalmente independente do método de transporte entre a instância httpd e o servidor ao qual você está fazendo proxy. Isso significa que basta colocar as linhas de proxy (pelo menos ProxyPass e ProxyPassReverse ) em sua configuração HTTPS:

NameVirtualHost *:443
<VirtualHost *:443>
    ServerName sub.domain.com

    # Certificate stuff goes here...
    SSLEngine on
    SSLCertificateFile              /etc/pki/http/certs/sub.domain.com.crt
    SSLCertificateKeyFile   /etc/pki/http/private/sub.domain.com.key
    SSLCertificateChainFile /etc/pki/http/certs/interims-cert.crt
    SSLProtocol All -SSLv2 -SSLv3
    SSLHonorCipherOrder on
    SSLCipherSuite +EDH:HIGH:!LOW:!ADH:-MEDIUM:RC4+SHA

    ProxyRequests Off
    ProxyVia Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>                              
    ProxyPass / http://localhost:5010
    ProxyPassReverse / http://localhost:5010/
</VirtualHost>

As diretivas SSL* são apenas para o propósito de exemplo! Você deve verificar como configurar com segurança um httpd para HTTPS.

    
por 10.04.2015 / 13:49