वेबसाइट
HTTPS सक्षम करने के बाद Mixed Content चेतावनियों को ठीक करना
When SSL is active but the browser padlock is missing, broken or showing a warning, the cause is almost always mixed content: the page itself is encrypted but something on it is still being fetched…
जब SSL सक्रिय है लेकिन ब्राउज़र पैडलॉक गायब है, टूटा हुआ है या चेतावनी दिखा रहा है, तो कारण लगभग हमेशा मिश्रित सामग्री होता है: पृष्ठ स्वयं एन्क्रिप्ट किया गया है लेकिन इस पर कुछ अभी भी सादे HTTP पर प्राप्त किया जा रहा है। यह मार्गदर्शन समझाता है कि ऐसा क्यों होता है, प्रत्येक उल्लंघनकारी संसाधन को कैसे खोजें, और इसे सही तरीके से कैसे ठीक करें न कि इसे केवल छुपाएं।
मिश्रित सामग्री क्या है
एक ब्राउज़र एक पृष्ठ को सुरक्षित मानता है केवल अगर पृष्ठ और यह जो कुछ भी लोड करता है वह HTTPS पर आया है। यदि एक HTTPS पृष्ठ http:// पते से छवि, स्क्रिप्ट, स्टाइलशीट, फ़ॉन्ट या iframe खींचता है, तो ब्राउज़र इसे फ़्लैग करता है।
ब्राउज़र इसे दो श्रेणियों में विभाजित करते हैं, और वे बहुत अलग व्यवहार करते हैं:
- सक्रिय मिश्रित सामग्री: स्क्रिप्ट, स्टाइलशीट, iframes और XHR। ब्राउज़र इन्हें पूरी तरह से ब्लॉक करते हैं। लेआउट गिरते हैं, स्लाइडर रुकते हैं, फॉर्म प्रस्तुत करना बंद हो जाता है। यह विनाशकारी प्रकार है।
- निष्क्रिय मिश्रित सामग्री: छवियां, ऑडियो और वीडियो। ये आमतौर पर अभी भी लोड होते हैं, लेकिन पैडलॉक डाउनग्रेड किया जाता है या हटाया जाता है।
एक साइट इसलिए पूरी तरह से ठीक दिख सकती है और अभी भी अपना पैडलॉक खो सकती है, या पृष्ठ में कोई स्पष्ट त्रुटि के साथ टूटी दिख सकती है।
यह SSL सक्षम करने के बाद क्यों होता है
SSL चालू करने से बदल जाता है कि आपकी साइट कैसे परोसी जाती है। यह नहीं बदलता कि इसके अंदर क्या संग्रहीत है।
WordPress डेटाबेस में निरपेक्ष URL लिखता है, इसलिए एक साइट जो किसी भी अवधि के लिए HTTP पर चलती थी उसके पास http:// पते हैं:
- पोस्ट और पेज सामग्री, संपादक के माध्यम से सम्मिलित की गई प्रत्येक छवि सहित।
- मीडिया संलग्नक रिकॉर्ड।
- थीम कस्टमाइज़र सेटिंग्स और थीम विकल्प।
- विजेट सामग्री और ब्लॉक सेटिंग्स।
- प्लगइन सेटिंग्स, विशेष रूप से पेज बिल्डर और स्लाइडर प्लगइन।
siteurlऔरhomeविकल्प।
उनमें से कोई भी अपने आप को अपडेट नहीं करता। SSL सक्षम करने और फिर सोचने कि पैडलॉक क्यों टूटा है, सबसे आम समर्थन प्रश्नों में से एक है, और यह इसी कारण से है।
चरण 1: सर्वर पर HTTPS को बाध्य करें
इससे पहले कि आप डेटाबेस को छूएं, सुनिश्चित करें कि हर आगंतुक पहली जगह में HTTPS पर उतर रहा है।
- KPanel में साइन इन करें और बाएं साइडबार में Websites पर क्लिक करें।
- अपनी साइट पर क्लिक करें।
- Settings खोलें।
- Behavior के तहत, Force HTTPS चालू करें।
- Save Changes पर क्लिक करें।

हर HTTP अनुरोध अब आपकी साइट चलने से पहले सर्वर पर HTTPS में रीडायरेक्ट किया जाता है।
Force HTTPS आने वाले अनुरोधों को संभालता है। यह आपके डेटाबेस के अंदर पहले से संग्रहीत URL को फिर से नहीं लिखता है, इसलिए अपने आप में यह कठोर कोडित http:// छवि के कारण होने वाली मिश्रित सामग्री चेतावनी को साफ नहीं करेगा। आपको इसकी और चरण 2 की आवश्यकता है।
यदि SSL अभी सक्रिय नहीं है, या प्रमाणपत्र गलत लगता है, तो SSL Certificates से शुरू करें।
चरण 2: संग्रहीत URL को पुनः लिखें
यह वह सुधार है जो वास्तव में मिश्रित सामग्री को हल करता है।
- साइट खोलें, फिर WordPress टैब, फिर Quick Actions अनुभाग।
- Search & Replace कार्ड खोजें और Configure पर क्लिक करें।
- Find (old value) में
http://yourdomain.co.nzदर्ज करें। - Replace with में
https://yourdomain.co.nzदर्ज करें। - Dry run (preview only, no changes) को टिक किया रहने दें और Preview पर क्लिक करें।
- गणना और प्रति-तालिका विवरण की समीक्षा करें।
- Dry run को अनटिक करें, Run पर क्लिक करें, और पुष्टि करें।
प्रतिस्थापन से पहले स्वचालित रूप से एक पूर्ण बैकअप लिया जाता है, और प्लगइन द्वारा बनाई गई उन सहित हर तालिका को कवर किया जाता है। क्रमबद्ध प्लगइन सेटिंग्स को सही तरीके से संभाला जाता है।
phpMyAdmin में SQL क्वेरी के साथ यह न करें। WordPress प्लगइन और थीम सेटिंग्स को क्रमबद्ध स्ट्रिंग के रूप में संग्रहीत करता है जो हर मान की लंबाई रिकॉर्ड करता है, इसलिए एक कच्ची REPLACE() उन्हें तोड़ देती है और सेटिंग्स चुप चाप खाली में रीसेट हो जाती हैं। बैकअप पुनर्स्थापित करने के अलावा कोई मरम्मत नहीं है। पूर्ण व्याख्या Running a Search and Replace में है।
यदि आपकी योजना में कंसोल शामिल है, तो समकक्ष कमांड है:
search-replace 'http://yourdomain.co.nz' 'https://yourdomain.co.nz' --all-tables --dry-run
इसे लागू करने के लिए --dry-run ड्रॉप करें, और पहले स्वयं एक बैकअप लें: कंसोल नहीं करता।
चरण 3: हर कैश को साफ करें
एक पृष्ठ की कैश की गई प्रति डेटाबेस ठीक होने के बाद लंबे समय तक पुरानी HTTP URL को परोसना जारी रखेगी, जिसका कारण लोग अक्सर सोचते हैं कि प्रतिस्थापन काम नहीं किया।
- WordPress, फिर Quick Actions, फिर Flush Cache।
- WordPress, फिर Caching, फिर Purge cache, यदि पूर्ण पृष्ठ कैश चालू है।
- Performance, फिर Kapsule CDN, फिर Purge, यदि CDN चालू है। Purging the CDN Cache देखें।
- कोई भी कैशिंग प्लगइन, इसकी खुद की सेटिंग्स स्क्रीन से।
- आपका स्वयं का ब्राउज़र। निजी विंडो में परीक्षण करें ताकि आप अपने स्वयं के कैश से धोखा न खाएं।
चरण 4: बचा हुआ खोजें
अधिकांश साइटें चरण 2 के बाद साफ हैं। जब कोई चेतावनी बची रहती है, तो अनुमान लगाने के बजाय सटीक संसाधन खोजें।
ब्राउज़र कंसोल। F12 के साथ डेवलपर टूल खोलें, Console टैब पर जाएं, और पुनः लोड करें। मिश्रित सामग्री एक स्पष्ट चेतावनी के रूप में प्रकट होती है जो उल्लंघनकारी संसाधन का पूर्ण URL नाम देती है। वह URL आपको बताता है कि कौन सा प्लगइन या थीम जिम्मेदार है।
नेटवर्क टैब। http:// के अनुसार फ़िल्टर करें पृष्ठ ने किए गए हर असुरक्षित अनुरोध को सूचीबद्ध करने के लिए।
पृष्ठ स्रोत। पृष्ठ लोड करें, स्रोत देखें, और http:// के लिए खोजें। xmlns विशेषताओं और स्कीमा घोषणा के अंदर कुछ भी अनदेखा करें: ये पहचानकर्ता हैं, अनुरोध नहीं हैं।
सामान्य उत्तरजीवी, और प्रत्येक के बारे में क्या करना है:
| आपको क्या मिलता है | सुधार |
|---|---|
| थीम कस्टमाइज़र सेटिंग में एक छवि या लोगो | कस्टमाइज़र में इसे पुनः अपलोड या पुनः चुनें |
एक पेज बिल्डर मॉड्यूल एक टाइप किया गया http:// छवि URL के साथ | उस मॉड्यूल को संपादित करें और URL को सही करें |
| एक स्लाइडर प्लगइन की खुद की सेटिंग्स तालिका | स्लाइडर को पुनः सहेजें, या --all-tables के साथ खोज और प्रतिस्थापन चलाएं |
| एक तीसरी पक्ष डोमेन से एक फ़ॉन्ट या स्क्रिप्ट | जांचें कि क्या प्रदाता HTTPS प्रदान करता है। अधिकांश अब करते हैं। URL स्विच करें |
| एक पुराने विक्रेता से एक ट्रैकिंग पिक्सेल या एम्बेड | यदि विक्रेता के पास HTTPS नहीं है, तो इसे हटाएं। यह एक टूटी हुई निर्भरता है, Kapsule समस्या नहीं |
थीम टेम्पलेट फ़ाइल में कठोर कोडित http:// | टेम्पलेट को संपादित करें, या बेहतर, https या प्रोटोकॉल सापेक्ष संदर्भ का उपयोग करें |
यदि केवल एक पृष्ठ प्रभावित है और बाकी साइट साफ है, तो दोषी एक साइट व्यापी सेटिंग नहीं है वह पृष्ठ पर सामग्री है। इसे संपादक में खोलें और इसमें एम्बेड किए गए मीडिया को देखें।
यह पुष्टि करना कि यह ठीक है
- एक निजी विंडो में साइट लोड करें।
- पैडलॉक ठोस होना चाहिए, कोई चेतावनी त्रिकोण नहीं और कोई पार किया गया संकेत नहीं।
- पैडलॉक पर क्लिक करें। ब्राउज़र कनेक्शन को कोई मिश्रित सामग्री नोटिस के साथ सुरक्षित के रूप में रिपोर्ट करता है।
- कंसोल खोलें और एक बार और पुनः लोड करें। शून्य मिश्रित सामग्री चेतावनियां।
- केवल होमपेज नहीं, एक गहरे पृष्ठ को जांचें: एक आंतरिक पृष्ठ, छवियों के साथ एक ब्लॉग पोस्ट, और एक स्टोर पर चेकआउट।
इसे वापस आने से रोकना
- Force HTTPS को चालू रखें। यह एक एक पंक्ति की सेटिंग है जो समस्याओं की एक पूरी श्रेणी को हटा देती है।
- कभी भी सामग्री में एक पूर्ण
http://URL टाइप न करें। मीडिया लाइब्रेरी का उपयोग करें, जो अब HTTPS पते संग्रहीत करता है। - कुछ भी स्थापित करने के बाद प्लगइन सेटिंग्स की जांच करें जो एक URL मांगता है।
- एक प्लगइन अपडेट के बाद एक वापसी चेतावनी के लिए देखें। कुछ प्लगइन अपने स्वयं के संग्रहीत URL को रीसेट करते हैं।
- किसी भी प्रवास के बाद खोज और प्रतिस्थापन को फिर से चलाएं, क्योंकि एक आयातित डेटाबेस पुराने होस्ट के URL को साथ लाता है: Migrating a Website From cPanel।
समस्या निवारण
पैडलॉक मेरे लिए ठीक है, एक सहकर्मी के लिए टूटा हुआ है। कैश किया गया पृष्ठ। उन्हें एक निजी विंडो में पुनः लोड करने के लिए कहें।
प्रतिस्थापन के बाद साइट पूरी तरह टूट गई। स्वचालित पूर्व-रन बैकअप पुनः स्थापित करें: Restoring From a Backup।
कंसोल एक ऐसे डोमेन पर मिश्रित सामग्री चेतावनी दिखाता है जो मेरा नहीं है। एक तीसरी पक्ष संसाधन। आप उनके सर्वर को ठीक नहीं कर सकते: या तो वे HTTPS को समर्थन देते हैं और आप URL स्विच करते हैं, या आप संसाधन को ड्रॉप करते हैं।
सब कुछ HTTPS है लेकिन साइट बिल्कुल लोड नहीं होगी। यह मिश्रित सामग्री नहीं है। Website Not Loading से शुरू करें और SSL Certificates पर प्रमाणपत्र की जांच करें।
यदि आपने इस सब के माध्यम से काम किया है और चेतावनी बनी रहती है, तो support@kapsulehost.com को प्रभावित URL और ब्राउज़र कंसोल चेतावनी के सटीक पाठ के साथ ईमेल करें।