SSL के साथ Apache ProxyPass


59

मैं एक एसएसएल साइट से गैर-एसएसएल साइट के माध्यम से प्रॉक्सी अनुरोध करना चाहता हूं। मेरा Apache httpd.conf कुछ इस तरह दिखता है:

<VirtualHost 1.2.3.4:80>
    ServerName foo.com
    ProxyPass / https://bar.com/
</VirtualHost>

इसलिए, जब मैं http://foo.com पर जाता हूं, तो मैं https://bar.com से अनुरोध करने के लिए अपाचे की उम्मीद करता हूं और मुझे वह पेज भेजता हूं जो उसने लाया था।

इसके बजाय, मुझे 500 त्रुटि मिलती है, और त्रुटि लॉग में, मैं देखता हूं:

[error] proxy: HTTPS: failed to enable ssl support for 4.3.2.1:443 (bar.com)

संभवत: मुझे यहां एक निर्देश याद आ रहा है। यह कौन सा हो सकता है?

सुरक्षा संबंधी निहितार्थों पर कभी ध्यान न दें। मैं जोखिमों को पूरी तरह से समझता हूं।


आप अपाचे के किस संस्करण का उपयोग कर रहे हैं?
सैम हेलिके

1
"सुरक्षा निहितार्थों पर कभी ध्यान न दें। मैं पूरी तरह से जोखिमों को समझता हूं।" - यह "होल्ड माय बीयर" के बराबर देवता हैं; )
एरिक किगाथी १३'१athi

जवाबों:


70

आपको आवश्यकता होगी mod_ssl, mod_proxyऔर वैकल्पिक रूप से mod_rewrite। अपनी वितरण और अपाचे संस्करण के आधार पर आप अगर जाँच करने के लिए हो सकता है mod_proxy_connectऔर mod_proxy_httpसाथ ही लोड किए गए हैं।

SSL प्रॉक्सी समर्थन को सक्षम करने के निर्देश mod_ssl में हैं:

<VirtualHost 1.2.3.4:80>
    ServerName foo.com
    SSLProxyEngine On
    SSLProxyCheckPeerCN on
    SSLProxyCheckPeerExpire on
    ProxyPass / https://secure.bar.com
    ProxyPassReverse / https://secure.bar.com
</VirtualHost>

IIRC आप भी उपयोग कर सकते हैं:

    RewriteRule / https://secure.bar.com [P]    # don't forget to setup SSLProxy* as well

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.