Użyj Apache jako serwera proxy HTTPS do HTTP

10

Usiłuję skonfigurować Apache na Centos 6 do proxy i odwrotnego ruchu proxy do serwera http zewnętrznego dostawcy.

Konfiguracja powinna działać w następujący sposób: https://mydomain.com/proxy/ transparentnie przekazuje cały ruch do http://thirdparty.com/app/

Problem, który mam, to każda prośba https://mydomain.com/proxy/o przekierowanie 301 w odpowiedzi.

To są wszystkie opcje związane z proxy w moim 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
źródło

Odpowiedzi:

15

Mamy podobną konfigurację i używamy tego (oczywiście musisz załadować przed mod_proxy, mod_ssl i 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
źródło
Znalazłem jeden błąd polegający na tym, że korzystałem z witryny Thirdparty.com, która przekierowuje na stronę Thirdparty.com . Jednak moja oryginalna konfiguracja też z tym nie działała. Dzięki.
james_t
1
Zauważ, że SSLProxyEnginetutaj nie jest to konieczne - byłoby to konieczne, gdybyś był pełnomocnikiemhttpS://thirdparty.com/
Piskvor opuścił budynek
1
@Piskvor rzeczywiście po ponownym sprawdzeniu dokumentacji nie jest konieczne w takim przypadku. Zaktualizuję odpowiedź. Dziękuję za zwrócenie na to uwagi.
Huygens,