Use o apache como um proxy HTTPS para HTTP

10

Estou tentando configurar o Apache no Centos 6 para fazer proxy e reverter o tráfego de proxy para um servidor http de um provedor de terceiros.

A configuração deve funcionar assim: https://mydomain.com/proxy/ proxies todos os trafic transparentemente para http://thirdparty.com/app/

O problema que estou tendo é qualquer solicitação feita para https://mydomain.com/proxy/obter um redirecionamento 301 em resposta.

Essas são todas as opções relacionadas ao proxy no meu VirtualHost

SetOutputFilter proxy-html
ProxyHTMLExtended On
ProxyRequests Off
SSLProxyEngine On

<Proxy *>
Order deny,allow
Allow from all
</Proxy>


ProxyPass /proxy/ http://thirdparty.com/app/
<Location /proxy/>
        ProxyPassReverse /
        ProxyHTMLEnable On
        ProxyHTMLURLMap http://thirdparty.com/app/ /proxy/
        ProxyHTMLURLMap / /proxy/
</Location>
james_t
fonte

Respostas:

15

Temos uma configuração semelhante e a estamos usando (é claro que você precisa carregar antes de mod_proxy, mod_ssl e mod_proy_http):

ProxyRequests Off
# SSLProxyEngine On # only required if the proxied service would be HTTPS as well
                    # Meaning if we would reverse proxy https://thirdparty.com/app/
                    # Thanks @Piskvor for the clarification.

<Proxy *>
  Order deny,allow
  Allow from all
</Proxy>


ProxyPass /proxy/ http://thirdparty.com/app/
ProxyPassReverse /proxy/ http://thirdparty.com/app/
<Location /proxy/>
  ProxyPassReverse /
  Order deny,allow
  Allow from all     
</Location>
Header edit Location ^http://thirdparty.com/app/ https://thirdparty.com/app/
Huygens
fonte
Encontrei um bug no uso de thirdparty.com, que redireciona para thirdparty.com . No entanto, minha configuração original também não funcionou com isso, a sua. Obrigado.
james_t
1
Observe que isso SSLProxyEnginenão é necessário aqui - isso seria necessário se você httpS://thirdparty.com/
fizesse
1
@Piskvor depois de verificar a documentação novamente, não é necessário nesse caso. Vou atualizar a resposta. Obrigado por apontar isso.
Huygens