Utiliser apache comme proxy HTTPS vers HTTP

10

J'essaie de configurer Apache sur Centos 6 pour proxy et inverser le trafic proxy vers un serveur http d'un fournisseur tiers.

La configuration devrait fonctionner comme ceci: https://mydomain.com/proxy/ proxy tout le trafic de manière transparente à http://thirdparty.com/app/

Le problème que j'ai est toute demande faite pour https://mydomain.com/proxy/obtenir une redirection 301 en réponse.

Ce sont toutes les options liées au proxy dans mon 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
la source

Réponses:

15

Nous avons une configuration similaire et nous l'utilisons (bien sûr, vous devez charger avant mod_proxy, mod_ssl et 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
la source
J'ai trouvé un bogue dans le fait que j'utilisais thirdparty.com qui redirige vers thirdparty.com . Cependant, ma configuration d'origine ne fonctionnait pas non plus, la vôtre l'a fait. Merci.
james_t
1
Notez que ce SSLProxyEnginen'est pas nécessaire ici - ce serait nécessaire si vous êtes httpS://thirdparty.com/
mandaté
1
@Piskvor en effet après avoir vérifié à nouveau la documentation, ce n'est pas nécessaire dans ce cas. Je mettrai à jour la réponse. Merci d'avoir fait remarquer cela.
Huygens