Verwenden Sie Apache als HTTPS-zu-HTTP-Proxy

10

Ich versuche, Apache unter Centos 6 so zu konfigurieren, dass Proxy- und Reverse-Proxy-Verkehr zu einem http-Server eines Drittanbieters übertragen wird.

Das Setup sollte folgendermaßen funktionieren: https://mydomain.com/proxy/ Proxys alle Daten transparent an http://thirdparty.com/app/

Das Problem, das ich habe, ist jede Anfrage, https://mydomain.com/proxy/eine 301-Weiterleitung als Antwort zu erhalten.

Dies sind alle Proxy-bezogenen Optionen in meinem 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
quelle

Antworten:

15

Wir haben ein ähnliches Setup und verwenden dieses (natürlich müssen Sie vor mod_proxy, mod_ssl und mod_proy_http laden):

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
quelle
Ich habe einen Fehler darin gefunden, dass ich Drittanbieter verwendet habe, der zu Drittanbieter weiterleitet . Meine ursprüngliche Konfiguration funktionierte jedoch auch nicht damit, Ihre auch. Vielen Dank.
James_t
1
Beachten Sie, dass SSLProxyEnginedies hier nicht erforderlich ist - dies wäre erforderlich, wenn Sie einen Stellvertreter hättenhttpS://thirdparty.com/
Piskvor das Gebäude
1
@Piskvor in der Tat, nachdem die Dokumentation erneut überprüft wurde, ist es in diesem Fall nicht erforderlich. Ich werde die Antwort aktualisieren. Vielen Dank für den Hinweis.
Huygens