Gunakan apache sebagai HTTPS ke HTTP Proxy

10

Saya mencoba mengkonfigurasi Apache pada Centos 6 ke proxy dan membalikkan lalu lintas proxy ke server http dari penyedia pihak ketiga.

Setup harus bekerja seperti ini: https://mydomain.com/proxy/ proksi semua trafik secara transparan ke http://thirdparty.com/app/

Masalah yang saya alami adalah setiap permintaan yang dibuat untuk https://mydomain.com/proxy/mendapatkan pengalihan 301 sebagai tanggapan.

Ini adalah semua opsi terkait proxy di my 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
sumber

Jawaban:

15

Kami memiliki pengaturan serupa dan menggunakan ini (tentu saja Anda perlu memuat sebelum mod_proxy, mod_ssl dan 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
sumber
Saya menemukan satu bug di mana saya menggunakan thirdparty.com yang mengalihkan ke thirdparty.com . Namun konfigurasi asli saya tidak berfungsi dengan baik, milik Anda. Terima kasih.
james_t
1
Catatan yang SSLProxyEnginetidak perlu di sini - yang akan diperlukan jika Anda proksi kehttpS://thirdparty.com/
Piskvor meninggalkan gedung
1
@Piskvor memang setelah memeriksa dokumentasi lagi, itu tidak perlu dalam kasus itu. Saya akan memperbarui jawabannya. Terima kasih telah menunjukkannya.
Huygens