मेरे पास config.force_ssl = true
के साथ एक रेल एप्लिकेशन था, लेकिन अब मुझे एसएसएल एन्क्रिप्शन नहीं चाहिए, लेकिन मेरा ऐप अभी भी https पर रीडायरेक्ट कर रहा है। मैंने पढ़ा यह अपाचे पर एक HTTP सख्त परिवहन सुरक्षा समस्या है। मैं इसे कैसे अक्षम कर सकता हूं?HTTP सख्त परिवहन सुरक्षा को अक्षम कैसे करें?
उत्तर
यह अपाचे के साथ कोई समस्या नहीं है, लेकिन तथ्य यह है कि रेल एक एचएसटीएस हेडर भेजता है।
क्रोम में, आप about:net-internals
में जाकर एचएसटीएस स्थिति को साफ़ कर सकते हैं, जैसा कि ImperialViolet: HSTS UI in Chrome में वर्णित है। आपको कैश को भी साफ़ करना पड़ सकता है, क्योंकि config.force_ssl = true
भी 301 (स्थायी) पुनर्निर्देशन का उपयोग करता है।
इसके अलावा, this answer के अनुसार, आप अपने आवेदन को अधिकतम आयु = 0 के साथ एक एसटीएस हेडर भेज सकते हैं। अपने नियंत्रक में:
response.headers["Strict-Transport-Security"] = 'max-age=0'
बस @ ब्रूनो के जवाब और @ JoeVanDyk की सुझाव सत्य हैं और रेल/अपाचे के संदर्भ से परे लागू किया जा सकता का कहना चाहते थे। मैं PHP और Nginx का उपयोग कर रहा हूँ। पीएचपी मेरे मामले में यह कोई लेना देना नहीं है, लेकिन यहां Nginx साथ चरणों है:
//sorry here's the nginx.conf part first, can't figure out how to mix multi-line
//code with an ordered list
server {
#...
#change:
# add_header Strict-Transport-Security "max-age=315360000; includeSubdomains";
#to:
add_header Strict-Transport-Security "max-age=0;";
#...
}
स्पष्ट अपने "ब्राउज़र इतिहास"। @ जोवन डिक के सुझाव पर स्पष्टीकरण के लिए, मुझे लगता है कि आपको "ब्राउज़िंग इतिहास" को साफ़ करने की आवश्यकता है क्योंकि कैश साफ़ करना मेरे लिए काम नहीं करता है (क्रोम/फ़ायरफ़ॉक्स पर परीक्षण किया गया है, अगर आप और जानते हैं तो कृपया टिप्पणी जोड़ें)।
nginx.conf फ़ाइल (ऊपर कोड देखें)
पुनः आरंभ सर्वर
[email protected]:~# /etc/init.d/nginx restart
।
इस के बाद, आप क्या आप पहले से था nginx add_header Strict..
आदेश लौट सकते हैं। बस सुनिश्चित करें कि आप चरण 1-3 दोबारा दोहराएं।
मुझे यह जोड़ना चाहिए कि आपको पुनरारंभ करने की आवश्यकता नहीं है, बल्कि पुनः लोड करना चाहिए। जैसे '/etc/init.d/nginx reload' –
चित्रित आईडी इस पर थोड़ा सा विचार पेश करती है। कैश टाइम को 0 पर सेट करना सबसे अच्छा शर्त है और यदि आप इसे बंद करते हैं तो आपको क्लाइंट ब्राउज़र को साफ़ करने के लिए इसे सप्ताहों में 0 पर छोड़ना होगा। यदि आपको क्रोम (अपने ब्राउज़र के लिए) में एचएसटीएस को साफ़ करने की आवश्यकता है तो आप अपने विशिष्ट ब्राउज़र पर अपनी साइट के कैश को साफ़ करने के लिए पता बार में chrome://net-internals/#hsts
का उपयोग कर सकते हैं। नीचे "द्वार" के साथ संयुक्त यह उपयोगी हो जाता है।
आप कस्टम हेडर => कुंजी को सेट/स्पूफिंग करके अस्थायी एचएसटीएस मोड सेट कर सकते हैं। असल में यदि कोई विशेष अनुरोध हेडर मौजूद है, और यह एक कुंजी से मेल खाता है, तो आपको जो भी चाहिए उसे कैश टाइम के साथ एचएसटीएस सेट करें। इससे आप सभी ट्रैफिक के लिए एचएसटीएस चालू या बंद कर सकते हैं। वैश्विक स्तर पर सक्षम होने से पहले एचएसटीएस की कोशिश करने के लिए उपयोगी (यह सुनिश्चित करने के लिए कि सभी संपत्तियां लोड हो रही हैं)। अगर आप कुछ मरम्मत की जाती है (आपको परीक्षण के लिए कमरा छोड़कर) अस्थायी रूप से क्लाइंट कैश को साफ़ करना चाहते हैं तो भी उपयोगी।
आप" कैश टाइम "कैसे सेट करते हैं? 'Chrome: // net-internals/# hsts' – Pacerier
पर कोई विकल्प नहीं है @Pacerier Ah क्रोम एचएसटीएस को साफ़ कर सकता है लेकिन यह कैश टाइम सेट नहीं कर सकता है। कैश का समय मूल/साइट एचएसटीएस हेडर से आता है। इसका एक हिस्सा ऐसा दिखाई दे सकता है: 'सख्त परिवहन-सुरक्षा: अधिकतम आयु = 15552000' ... मूल रूप से आपको ग्राहकों के लिए एचएसटीएस अक्षम करने के लिए' सख्त परिवहन-सुरक्षा: अधिकतम आयु = 0' कहने की आवश्यकता है और अपने रीडायरेक्ट को मिटा दें (या, उन्हें अमान्य SSL से कनेक्ट करने दें)। – dhaupin
लेकिन उपयोगकर्ता स्वयं क्लाइंट पक्ष पर इसे कैसे संपादित कर सकता है? – Pacerier
मुझे पता चला कि मैं क्रोम में एचएसटीएस प्रविष्टि को हटा नहीं सकता क्योंकि मैं विकास के लिए आईपी एड्रेस का उपयोग कर रहा था। प्रवेश को हटाने के लिए मुझे chrome://net-internals/#hsts
नहीं मिल सका। मैंने पाया कि क्रोम प्रविष्टियों को स्टोर करता है ../AppData/local/Google/Chrome/User डेटा/डिफ़ॉल्ट/परिवहन सुरक्षा इसलिए मैंने अभी फ़ाइल को हटा दिया है। यह निश्चित रूप से सभी एचएसटीएस अनुरोधों को हटा देता है, लेकिन मुझे संदेह है कि उन्हें समय के साथ पुनर्निर्मित किया जाएगा।
- 1. WCF परिवहन सुरक्षा कमजोरी
- 2. PHP 5 सख्त मानकों को अक्षम करें
- 3. जावा सुरक्षा प्रबंधक को कैसे अक्षम करें?
- 4. कोई प्रमाणीकरण के साथ डब्ल्यूसीएफ परिवहन सुरक्षा
- 5. MySQL सख्त मोड को अक्षम करना
- 6. PHP में थ्रेड सुरक्षा को कैसे अक्षम करें?
- 7. "सख्त उपयोग के फ़ंक्शन फॉर्म का उपयोग करें" अक्षम करें लेकिन "लापता" सख्त 'कथन' चेतावनी
- 8. अक्षम फ़ायरफ़ॉक्स सुरक्षा चेतावनी
- 9. वसंत-सुरक्षा.एक्सएमएल फ़ाइल से वसंत सुरक्षा अक्षम करें
- 10. अपाचे HTTP क्लाइंट के लॉगिंग को अक्षम करें?
- 11. क्लाउड में मोंगोडीबी परिवहन को सुरक्षित करना
- 12. वसंत सुरक्षा HTTP मूल प्रमाणीकरण
- 13. TabIndex को कैसे अक्षम करें?
- 14. अक्षम सभी डिफ़ॉल्ट HTTP बिलाव
- 15. सी # में एमएस आउटलुक के सुरक्षा पॉप अप को कैसे अक्षम करें?
- 16. सेवा उन्मुख वास्तुकला - परिवहन परत (मैसेजिंग बनाम http)
- 17. बस सार्वजनिक परिवहन एल्गोरिदम
- 18. बटन को अक्षम कैसे करें क्लिक करें?
- 19. वसंत सुरक्षा 3.0- मूल http प्रमाणीकरण संवाद
- 20. क्वार्ट्ज अपडेट प्रयास को अक्षम कैसे करें?
- 21. सख्त मोड से कॉलर कैसे प्राप्त करें?
- 22. django.contrib.auth को पूरी तरह अक्षम कैसे करें?
- 23. एक सख्त में रखे सभी सीएसएस को कैसे शामिल करें?
- 24. परीक्षण के लिए आधुनिक ब्राउज़र में अस्थायी रूप से एक्सएसएस सुरक्षा को अक्षम कैसे करें?
- 25. एसएसएपी 1.2 एसएसएल + HTTP मूल प्रमाणीकरण या डब्ल्यूएस-सुरक्षा पर?
- 26. सीएसआरएफ सुरक्षा को अक्षम किए बिना रेल एपीआई डिज़ाइन
- 27. पाइथन अनुरोध http http को कैसे निर्दिष्ट करें?
- 28. कक्षाओं के बीच NSManagedObject उपclass कैसे परिवहन?
- 29. डब्ल्यूसीएफ परिवहन सुरक्षा के बिना विश्वसनीय सत्र समय पर घटना को दोष नहीं देगा
- 30. CURLOPT_SSL_VERIFYHOST को अक्षम करने का सुरक्षा परिणाम (libcurl/openssl)
यह दस्तावेज किया जाना चाहिए कि एक बार जब आप रेल में 'force_ssl' विकल्प सक्षम करते हैं, तो इसे अक्षम करने का एकमात्र तरीका यह है कि आपके सभी आगंतुक अपने ब्राउज़र कैश को साफ़ कर दें।:( –
यदि यह मामला नहीं था, तो आप एसएसएल स्ट्रिपिंग के लिए कमजोर होंगे जो एचएसटीएस को कम करने के लिए डिज़ाइन किया गया है। रेल के साथ कुछ भी नहीं करना। – Ali
हालांकि डेवलपर्स के लिए इसका उल्लेख करना उचित होगा :) इस उत्तर के लिए धन्यवाद @ ब्रूनो –