Usa apache come proxy da HTTPS a HTTP


10

Sto cercando di configurare Apache su Centos 6 per proxy e invertire il traffico proxy su un server http di un fornitore di terze parti.

La configurazione dovrebbe funzionare in questo modo: https://mydomain.com/proxy/ inoltra tutto il traffico in modo trasparente http://thirdparty.com/app/

Il problema che sto riscontrando è qualsiasi richiesta fatta per https://mydomain.com/proxy/ottenere un reindirizzamento 301 in risposta.

Queste sono tutte le opzioni relative al proxy nel mio 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>

Risposte:


15

Abbiamo una configurazione simile e la stiamo usando (ovviamente è necessario caricare prima di 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/

Ho trovato un bug nel fatto che stavo usando thirdparty.com che reindirizza a thirdparty.com . Tuttavia, anche la mia configurazione originale non ha funzionato con questa, la tua ha funzionato. Grazie.
james_t

1
Nota che SSLProxyEnginenon è necessario qui - sarebbe necessario se lo httpS://thirdparty.com/
facessi in

1
@Piskvor infatti dopo aver verificato nuovamente la documentazione, non è necessario in tal caso. Aggiornerò la risposta. Grazie per averlo sottolineato.
Huygens,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.