[apache] आप HTTPS को HTTP पर कैसे रीडायरेक्ट करते हैं?



3 Answers

ध्यान रखें कि रिवाइट इंजन केवल HTTP अनुरोध प्राप्त होने के बाद ही जाता है - जिसका मतलब है कि क्लाइंट को अनुरोध भेजने के लिए कनेक्शन सेट अप करने के लिए आपको अभी भी प्रमाणपत्र की आवश्यकता होगी!

हालांकि यदि बैकअप मशीन में एक ही होस्टनाम (जहां तक ​​ग्राहक संबंधित है) दिखाई देगा, तो कोई कारण नहीं होना चाहिए कि आप मुख्य उत्पादन मशीन के समान प्रमाणपत्र का उपयोग नहीं कर सकते हैं।

Question

आप HTTPS को HTTP पर कैसे रीडायरेक्ट करते हैं? यही है, जो (प्रतीत होता है) के विपरीत हर कोई सिखाता है।

मेरे पास एचटीटीपीएस पर एक सर्वर है जिसके लिए मैंने एक एसएसएल प्रमाणीकरण और एक दर्पण का भुगतान किया जिसके लिए मैंने आपात स्थिति के लिए नहीं रखा है और इसके लिए प्रमाणन प्राप्त करने की योग्यता नहीं है।

मेरे क्लाइंट के डेस्कटॉप पर मेरे पास कुछ शॉर्टकट हैं जो http://production_server और https://production_server (दोनों काम) को इंगित करते हैं। हालांकि, मुझे पता है कि अगर मेरा उत्पादन सर्वर नीचे चला जाता है, तो DNS फॉरवर्डिंग में शामिल होता है और उन क्लाइंट्स जिनमें उनके शॉर्टकट पर "https" होता है, वे https://mirror_server (जो काम नहीं करते हैं) पर देख रहे होंगे और एक बड़ा वसा इंटरनेट एक्सप्लोरर मेरी कंपनी के लिए असहजता की 7 लाल स्क्रीन।

दुर्भाग्यवश, मैं इसे क्लाइंट स्तर पर बस चारों ओर स्विच नहीं कर सकता। ये उपयोगकर्ता बहुत कंप्यूटर अशिक्षित हैं: और एचटीटीपीएस "असुरक्षा" त्रुटियों को देखने से बाहर निकलने की संभावना है (विशेष रूप से जिस तरह से फ़ायरफ़ॉक्स 3 और इंटरनेट एक्सप्लोरर 7 इसे आजकल संभालते हैं: पूर्ण रोकें, शुक्रिया की तरह, लेकिन मुझे यहां एलओएल की मदद नहीं करना)।

Http-> https पुनर्निर्देशन के लिए अपाचे समाधान ढूंढना बहुत आसान है , लेकिन मेरे जीवन के लिए मैं विपरीत नहीं कर सकता।

विचार?




उन लोगों के लिए जो .conf फ़ाइल का उपयोग कर रहे हैं।

<VirtualHost *:443>
    ServerName domain.com
    RewriteEngine On
    RewriteCond %{HTTPS} on
    RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/domain.crt
    SSLCertificateKeyFile /etc/apache2/ssl/domain.key
    SSLCACertificateFile /etc/apache2/ssl/domain.crt

</VirtualHost>



जब मैंने क्लाउडफ्लेयर का इस्तेमाल किया, तो उपरोक्त सभी काम नहीं करते थे, यह मेरे लिए काम करता था:

RewriteCond %{HTTP:X-Forwarded-Proto} =https
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

और यह निश्चित रूप से रास्ते में प्रॉक्सी के बिना काम करता है:

RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]



वर्डप्रेस वेबसाइट पर मेरे लिए कोई भी जवाब काम नहीं करता है लेकिन कामों के बाद (यह अन्य उत्तरों के समान है लेकिन थोड़ा बदलाव है)

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]





Related