ApacheをHTTPSからHTTPプロキシとして使用する


10

Centos 6でApacheを構成して、サードパーティプロバイダーのhttpサーバーにトラフィックをプロキシおよびリバースプロキシしようとしています。

設定は次のように機能するはずです: https://mydomain.com/proxy/ すべてのトラフィックを透過的にプロキシします http://thirdparty.com/app/

私が抱えている問題はhttps://mydomain.com/proxy/、応答として301リダイレクトを取得するために行われたすべての要求です。

これらは私のプロキシ関連のオプションのすべてです 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>

回答:


15

同様の設定があり、これを使用しています(もちろん、mod_proxy、mod_ssl、および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/

thirdparty.comにリダイレクトするthirdparty.comを使用しているというバグが1つ見つかりました。しかし、私の元の構成はこれでも機能しませんでした。ありがとう。
james_t 2013年

1
ここでSSLProxyEngineは不要であることに注意してください-プロキシした場合に必要になりますhttpS://thirdparty.com/
Piskvorが

1
@Piskvorは、ドキュメントを再度確認した後、実際には必要ありません。回答を更新します。指摘いただきありがとうございます。
ホイヘンス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.