Ruby on Rails 5.2 - ActionDispatch::SSL

वर्ग ActionDispatch :: एसएसएल




ruby

वर्ग ActionDispatch :: एसएसएल

जनक:
Object

यह मिडिलवेयर स्टैक में तब जोड़ा जाता है जब config.force_ssl = true , और config.ssl_options में सेट किए गए विकल्पों को पारित किया जाता है। HTTP अनुरोधों को सुरक्षित करने के लिए यह तीन काम करता है:

  1. TLS पुनर्निर्देशित : स्थायी रूप से http:// अनुरोधों को उसी URL होस्ट, पथ, आदि के साथ डिफ़ॉल्ट रूप से सक्षम करके पुनर्निर्देशित करता है। गंतव्य URL को संशोधित करने के लिए config.ssl_options सेट करें (उदाहरण के लिए redirect: { host: "secure.widgets.com", port: 8080 } ), या redirect: false इस सुविधा को अक्षम करने के लिए redirect: false

    अनुरोधों को बाहर करने के साथ पुनर्निर्देशन से बाहर कर सकते हैं:

    config.ssl_options = { redirect: { exclude: -> request { request.path =~ /healthcheck/ } } }
    

    अपवर्जित अनुरोधों के लिए Cookies को सुरक्षित नहीं रखा जाएगा।

  2. सुरक्षित कुकीज़ : कुकीज़ पर secure ध्वज सेट करने के लिए ब्राउज़रों को बताएं कि उन्हें http:// अनुरोधों के साथ नहीं भेजा जाना चाहिए। डिफ़ॉल्ट रूप से सक्षम। secure_cookies: false को secure_cookies: false साथ सेट करें secure_cookies: false इस सुविधा को अक्षम करने के लिए secure_cookies: false

  3. HTTP सख्त परिवहन सुरक्षा (HSTS) : इस साइट को TLS- के रूप में याद रखने के लिए ब्राउज़र को बताता है और स्वचालित रूप से गैर-TLS अनुरोधों को पुनर्निर्देशित करता है। डिफ़ॉल्ट रूप से सक्षम। कॉन्फ़िगर config.ssl_options hsts: false साथ hsts: false अक्षम करने के लिए hsts: false

    hsts: { ... } को कॉन्फ़िगर करने के लिए config.ssl_options को hsts: { ... } साथ सेट करें:

    • expires : कब तक, सेकंड में, ये सेटिंग्स चिपक जाएगी। ब्राउज़र प्रीलोड सूचियों के लिए अर्हता प्राप्त करने के लिए आवश्यक न्यूनतम 1 वर्ष है। 1 वर्ष के लिए चूक (अनुशंसित)।

    • subdomains : सभी उप-डोमेन पर इन सेटिंग्स को लागू करने के लिए ब्राउज़र को बताने के लिए true पर सेट करें। यह आपके कुकीज़ को एक उपडोमेन पर एक असुरक्षित साइट द्वारा अवरोधन से बचाता है। true अवहेलना।

    • preload : विज्ञापन करें कि यह साइट ब्राउज़रों की प्रीलोडेड HSTS सूचियों में शामिल हो सकती है। HSTS आपकी यात्रा को पहली यात्रा के अलावा हर यात्रा पर सुरक्षित रखता है क्योंकि इसने आपके HSTS शीर्षलेख को अभी तक नहीं देखा है। इस अंतर को बंद करने के लिए, ब्राउज़र विक्रेताओं में HSTS- सक्षम साइटों की एक बेक्ड-इन सूची शामिल है। अपनी साइट को शामिल करने के लिए hstspreload.org पर जाएं। false अवहेलना करता false

    HSTS को बंद करने के लिए, हेडर को छोड़ना पर्याप्त नहीं है। जब तक यह समाप्त नहीं हो जाता है तब तक ब्राउज़र को मूल एचएसटीएस निर्देश याद होगा। इसके बजाय, HSTS को तुरंत समाप्त करने के लिए ब्राउज़रों को बताने के लिए हेडर का उपयोग करें। hsts: false सेट करना hsts: false hsts: { expires: 0 } लिए एक शॉर्टकट है hsts: { expires: 0 }