HSTS समझें: max-age, preload और क्या टूटता है
अपडेट 2026-11-03 · 6 मिनट पढ़ें
HSTS एकमात्र सुरक्षा हेडर है जो किसी साइट को पहुँच से बाहर कर सकता है — मालिक के लिए भी। यह A+ के लिए भी अनिवार्य है। इन दो तथ्यों के बीच की दूरी पूरी तरह रोलआउट के अनुशासन पर है।
हेडर वास्तव में क्या करता है
Strict-Transport-Security ब्राउज़र को बताता है कि अगले N सेकंड तक इस होस्ट से केवल HTTPS पर संपर्क किया जाए। मिलने के बाद ब्राउज़र आंतरिक http:// लिंक फिर से लिखता है, सर्टिफ़िकेट त्रुटि को दरकिनार करने वाले क्लिक रोकता है, और सादा HTTP पूरी तरह अस्वीकार करता है — किसी भी अनुरोध के मशीन छोड़ने से पहले।
इसीलिए यह उन डाउनग्रेड हमलों से बचाता है जिन्हें रीडायरेक्ट नहीं रोक सकता: रीडायरेक्ट पहला अनुरोध अभी भी सादे टेक्स्ट में भेजता है, और नेटवर्क पर हमलावर ठीक वही अनुरोध पकड़ना चाहता है।
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
max-age ऐसी उलटी गिनती है जिसे रद्द नहीं कर सकते
max-age क्लाइंट पर संग्रहीत होता है। यदि आप एक वर्ष देते हैं और फिर हेडर हटा देते हैं, तो जिसने भी उसे देखा है वह ब्राउज़र एक वर्ष तक HTTPS थोपता रहेगा। सर्वर पर इसे बंद करने का कोई स्विच नहीं है।
CertH 180 दिन (15552000 सेकंड) को A+ की सीमा मानता है। एक वर्ष सामान्य उत्पादन मान है। 180 दिन से कम पर सारांश में HSTS चालू गिना जाता है, पर A+ नहीं खुलता।
includeSubDomains और preload दो अलग निर्णय हैं
includeSubDomains नियम को हर सबडोमेन तक बढ़ाता है। यदि कोई एक सबडोमेन केवल HTTP बोलता है — आंतरिक टूल, पुराना एडमिन पैनल, स्टेजिंग होस्ट — तो मूल डोमेन पर जाने वाले किसी भी व्यक्ति के लिए वह पहुँच से बाहर हो जाएगा। पहले DNS का ऑडिट करें।
preload और आगे जाता है: डोमेन ब्राउज़र के साथ भेजी जाने वाली सूची में अंकित हो जाता है, इसलिए नियम पहली यात्रा पर ही लागू होता है, कोई हेडर देखने से पहले। हटाने में महीने लगते हैं और हटाने वाली सूची में आवेदन चाहिए। जब तक हेडर कम से कम कुछ महीने स्थिर न हो, preload न जोड़ें।
- •हर HTTPS प्रतिक्रिया पर हेडर भेजें, त्रुटि पृष्ठों सहित — बिना हेडर वाला 404 ब्राउज़र को कुछ नहीं सिखाता।
- •सादे HTTP पर HSTS कभी न भेजें; विनिर्देश के अनुसार ब्राउज़र इसे अनदेखा करते हैं, इसलिए गलत रीडायरेक्ट लूप इस तरह ठीक नहीं होता।
- •includeSubDomains जोड़ने से पहले सबडोमेन में केवल-HTTP सेवाएँ जाँचें।
- •preload सबसे अंत में जोड़ें, और तभी जब max-age कुछ समय से एक वर्ष पर हो।
ऐसा रोलआउट जो कुछ नहीं तोड़ता
छोटे max-age से शुरू करें ताकि गलती जल्दी समाप्त हो: max-age=300। एक हफ़्ते रखें और टूटे सबडोमेन तथा मिश्रित सामग्री रिपोर्ट देखें। फिर एक दिन, फिर एक महीना, फिर एक वर्ष। हर कदम पिछली विंडो में वापस लिया जा सकता है — छोटे से शुरू करने का यही अर्थ है।
यदि कुछ टूटे, तो समाधान प्रभावित होस्ट पर HTTPS सही ढंग से देना है — हेडर हटाना नहीं, जो पहले ही पाने वाले किसी की मदद नहीं करता।
FAQ
HSTS न होने से मेरा स्कोर घटता है?
यह आधार स्कोर से नहीं काटता, पर A+ रोक देता है: सर्वोच्च ग्रेड के लिए कम से कम 180 दिन के max-age या preload वाला HSTS चाहिए। साइट 100 पा सकती है और इसके बिना A ही रहती है।
क्या सभी सबडोमेन के मालिक बिना HSTS इस्तेमाल कर सकता हूँ?
हाँ, बशर्ते includeSubDomains छोड़ दें। तब हेडर केवल उसी होस्ट पर लागू होता है जिसने उसे भेजा।