ใช้ apache เป็น HTTPS เพื่อ HTTP Proxy


10

ฉันพยายามกำหนดค่า Apache บน Centos 6 ให้เป็นพร็อกซีและย้อนกลับปริมาณพร็อกซีไปยังเซิร์ฟเวอร์ 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 อย่างไรก็ตามการกำหนดค่าดั้งเดิมของฉันไม่ทำงานกับสิ่งนี้คุณก็ทำเช่นนั้น ขอบคุณ
james_t

1
โปรดทราบว่าSSLProxyEngineไม่จำเป็นที่นี่ - จะต้องใช้ถ้าคุณพร็อกซีhttpS://thirdparty.com/
Piskvor ออกจากอาคาร

1
@Piskvor แน่นอนหลังจากตรวจสอบเอกสารอีกครั้งมันไม่จำเป็นในกรณีนั้น ฉันจะอัปเดตคำตอบ ขอบคุณสำหรับการชี้ให้เห็นว่า
Huygens
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.