मुख्य सामग्री के लिए छोड़ें
संस्करण: 1.x

Cloudflare

Cloudflare आपकी साइट की सुरक्षा के लिए आगंतुकों से सुरक्षा जाँच पूरी करवाता है, फिर उन्हें साइट पर जाने देता है। ब्राउज़र यह जाँच चुपचाप पूरी कर लेता है। WCPOS ऐप ब्राउज़र नहीं है: यह आपके स्टोर के REST API से बात करता है। जब Cloudflare इन अनुरोधों के जवाब में डेटा के बजाय सुरक्षा-जाँच वाला पृष्ठ भेजता है, तो ऐप कनेक्ट नहीं हो पाता।

यह पृष्ठ बताता है कि समस्या को कैसे पहचानें और Cloudflare से ऐप के अनुरोधों को आने देने के लिए कैसे कहें। यहाँ दिए गए सभी चरण स्टोर के मालिक या साइट का Cloudflare खाता संभालने वाले व्यक्ति के लिए हैं।

समस्या की पहचान कैसे करें​

  • कनेक्ट स्क्रीन पर त्रुटि कोड HOST121 के साथ "इस स्टोर की होस्टिंग सेटअप ऐप को ब्लॉक कर रही है" दिखाई देता है।
  • कनेक्ट या सिंक करते समय डेस्कटॉप ऐप "your-store.com के लिए सुरक्षा जाँच" नाम की एक छोटी विंडो खोलता है।
  • पुराने संस्करण ऐसी साइट पर "यह WordPress साइट नहीं लगती" या "साइट ने जवाब देने में बहुत समय लिया" दिखाते थे, जो स्पष्ट रूप से ऑनलाइन होती है।
  • क्लाउड प्रिंटिंग रुक जाती है और "सुरक्षा सेवा WCPOS Cloud Print को ब्लॉक कर रही है" संदेश दिखता है।

पुष्टि करने के लिए, टर्मिनल खोलें और यह चलाएँ:

curl -sI https://your-store.com/wp-json/

ब्लॉक किया गया स्टोर 403 स्थिति और cf-mitigated: challenge हेडर के साथ जवाब देता है। ठीक से काम करने वाला स्टोर 200 और content-type: application/json के साथ जवाब देता है। अगर आपको 404 मिलता है, तो आपकी साइट pretty permalinks का उपयोग नहीं करती; इसके बजाय यही जाँच 'https://your-store.com/?rest_route=/' पर चलाएँ। अगर WordPress किसी सबफ़ोल्डर में है, तो उसका पथ शामिल करें: https://example.com/shop/wp-json/।

डेस्कटॉप ऐप एक बार की जाँच पूरी कर सकता है

डेस्कटॉप ऐप के नए संस्करण, जहाँ संभव हो, एक छोटी विंडो में Cloudflare की जाँच पूरी कर लेते हैं। इससे आप बिक्री जारी रख सकते हैं, लेकिन Cloudflare से मिली छूट समाप्त हो जाती है (डिफ़ॉल्ट रूप से 30 मिनट बाद) और जाँच फिर शुरू हो जाती है। इस विंडो को अस्थायी उपाय समझें और नीचे दिया गया समाधान लागू करें।

समस्या Cloudflare के किस फ़ीचर से हो रही है​

समाधान इस बात पर निर्भर करता है कि कौन-सा फ़ीचर ऐप की जाँच कर रहा है। अपनी साइट के Cloudflare डैशबोर्ड में ये सेटिंग देखें। Cloudflare अपने मेनू बदल रहा है; पुराने स्थान को कोष्ठक में दिया गया है।

फ़ीचरस्थानक्या API को छूट दी जा सकती है?
Bot Fight Mode (मुफ़्त प्लान)सुरक्षा → सेटिंग → बॉट ट्रैफ़िक (पुराना डैशबोर्ड: सुरक्षा → बॉट)नहीं। Cloudflare इसे बायपास करने के लिए Skip या Allow नियमों की अनुमति नहीं देता। इसे बंद करें, या Pro में अपग्रेड करके Super Bot Fight Mode का उपयोग करें, जिसे नीचे दिए गए Skip नियम से छूट दी जा सकती है।
Under Attack Modeसाइट के अवलोकन पृष्ठ पर "Under Attack Mode" टॉगल, या सुरक्षा → सेटिंगहाँ। नीचे दिया गया Skip नियम Security Level को छोड़ देता है, जिसे Under Attack Mode बढ़ाता है। या हमला समाप्त होने पर Under Attack Mode बंद कर दें।
Super Bot Fight Mode (Pro और उससे ऊपर)सुरक्षा → सेटिंग → बॉट ट्रैफ़िक (पुराना डैशबोर्ड: सुरक्षा → बॉट)हाँ, नीचे दिए गए Skip नियम से।
WAF के कस्टम या प्रबंधित नियम, जिनमें Managed Challenge चुना होसुरक्षा → सुरक्षा नियम (पुराना डैशबोर्ड: सुरक्षा → WAF)हाँ, नीचे दिए गए Skip नियम से। इसे चुनौती देने वाले किसी भी कस्टम नियम से ऊपर रखें। प्रबंधित नियम हमेशा कस्टम नियमों के बाद चलते हैं, इसलिए उनके लिए क्रम मायने नहीं रखता।

आधिकारिक Cloudflare WordPress प्लगइन Under Attack Mode को टॉगल कर सकता है और WAF चालू कर सकता है, लेकिन Skip नियम नहीं बना सकता। ये Cloudflare डैशबोर्ड में बनाए जाते हैं।

REST API के लिए Skip नियम जोड़ें​

Bot Fight Mode को छोड़कर, हर स्थिति में यही समाधान है। यह Cloudflare से आपके स्टोर के REST API अनुरोधों को चुनौती न देने के लिए कहता है। WordPress की अपनी लॉगिन और अनुमति जाँचें इन एंडपॉइंट को सुरक्षित रखती हैं।

  1. Cloudflare डैशबोर्ड में अपनी साइट खोलें, फिर सुरक्षा → सुरक्षा नियम (पुराना डैशबोर्ड: सुरक्षा → WAF → कस्टम नियम) खोलें और नियम बनाएँ → कस्टम नियम चुनें।

  2. इसका नाम WCPOS REST API रखें।

  3. जब आने वाले अनुरोध मेल खाएँ के अंतर्गत, एक्सप्रेशन संपादित करें चुनें और यह पेस्ट करें:

    (starts_with(http.request.uri.path, "/wp-json/")) or (http.request.uri.path eq "/" and (starts_with(http.request.uri.query, "rest_route=") or http.request.uri.query contains "&rest_route="))

    दूसरा हिस्सा WordPress के वैकल्पिक पते /?rest_route=/... से मेल खाता है, और केवल साइट के मुख्य पृष्ठ पर लागू होता है। इससे किसी अन्य पृष्ठ की क्वेरी में छिपी rest_route= स्ट्रिंग उस पृष्ठ की सुरक्षा बंद नहीं करती। अगर WordPress किसी सबफ़ोल्डर में है, जैसे https://example.com/shop, तो /wp-json/ और / की जगह /shop/wp-json/ और /shop/ का उपयोग करें।

  4. फिर यह कार्रवाई करें के अंतर्गत, छोड़ें चुनें।

  5. बाकी सभी कस्टम नियम पर टिक करें। छोड़ने वाले घटकों की सूची में Super Bot Fight Mode के सभी नियम और सुरक्षा स्तर पर टिक करें। सभी प्रबंधित नियम पर केवल तभी टिक करें जब कोई प्रबंधित नियम आप पर जाँच लागू कर रहा हो, और "(पिछला संस्करण)" से चिह्नित प्रविष्टि को वैसे ही छोड़ दें।

  6. नियम लागू करें। अगर आपके अन्य कस्टम नियम अनुरोधों की जाँच करते हैं या उन्हें ब्लॉक करते हैं, तो इस नियम को उनसे ऊपर रखें।

curl जाँच फिर से चलाएँ। cf-mitigated हेडर हट जाना चाहिए और जवाब JSON होना चाहिए।

मुफ़्त प्लान और Bot Fight Mode

अगर Skip नियम के बाद भी curl जाँच में चुनौती दिखती है और Bot Fight Mode चालू है, तो समस्या इसी की वजह से है। मुफ़्त प्लान में इसे ठीक करने का एकमात्र तरीका सुरक्षा → सेटिंग → बॉट ट्रैफ़िक के अंतर्गत इसे बंद करना है। Cloudflare के अपने दस्तावेज़ पुष्टि करते हैं कि कोई नियम इसे बायपास नहीं कर सकता। अगर Bot Fight Mode पहले से बंद है, तो अब भी ब्लॉक हो रहा है? देखें।

कैशिंग​

Cloudflare REST API के जवाबों को कैश भी कर सकता है, जिससे ऐप में पुराने उत्पाद और ऑर्डर दिखते हैं। ऊपर दिया गया Skip नियम कैशिंग को नहीं बदलता। अगर आप HTML पृष्ठों या Automatic Platform Optimization के लिए Cloudflare का कैश इस्तेमाल करते हैं, तो उसी एक्सप्रेशन के लिए कैश बायपास करें सेट करने वाला कैश नियम जोड़ें।

अब भी ब्लॉक हो रहा है?​

जाँचें कि Skip नियम लागू किया गया है, सिर्फ़ ड्राफ़्ट के रूप में सहेजा नहीं गया, और कोई IP Access नियम कैश रजिस्टर के नेटवर्क को ब्लॉक नहीं कर रहा है। आपकी साइट के आगे मौजूद अन्य सेवाएँ भी Cloudflare की तरह काम करती हैं: सुरक्षा प्लगइन के लिए प्लगइन टकराव देखें, और GoDaddy, WP Engine तथा अन्य होस्ट के लिए होस्टिंग संबंधी नोट देखें।