DNS और Cloudflare
NexCMP को एक DNS नाम — इसके मुख्य डोमेन — की आवश्यकता होती है और यह दो मोड में काम करता है।
मोड A: DNS सीधे सर्वर पर इंगित करता है
- एक A रिकॉर्ड
cloud.example.com → <server public IPv4>बनाएं (और यदि सर्वर में IPv6 है तो AAAA रिकॉर्ड)। - वैकल्पिक, यदि आप उनका उपयोग करते हैं:
admin.cloud.example.comऔरpartner.cloud.example.comसमान IP की ओर इशारा करते हैं। - installer चलाएं (या दोबारा चलाएं)। यह देखता है कि नाम सर्वर के अपने सार्वजनिक IP पर रिजॉल्व होता है और पोर्ट 80 पर HTTP-01 चैलेंज के माध्यम से Let's Encrypt सर्टिफिकेट प्राप्त करता है।
मोड B: डोमेन Cloudflare द्वारा प्रॉक्सी किया जाता है
ऑरेंज क्लाउड (Proxied) के साथ वही रिकॉर्ड बनाएं। इंस्टॉलर यह पहचानता है कि नाम केवल Cloudflare पतों पर रिजॉल्व होता है और Cloudflare मोड पर स्विच हो जाता है:
- nginx अभी भी आपके सर्वर पर 80/443 पर सुनता है;
- आगंतुक का वास्तविक IP
CF-Connecting-IPहेडर से पढ़ा जाता है — यह केवल Cloudflare के प्रकाशित रेंजों से आने वाले कनेक्शनों के लिए है, ताकि इसे कोई अन्य व्यक्ति जाली न बना सके; - प्रमाणपत्र Let's Encrypt के माध्यम से प्राप्त किया जाता है (Cloudflare आपके ओरिजिन पर चैलेंज अग्रेषित करता है); यदि यह अभी संभव नहीं है, तो एक सेल्फ-साइंड ओरिजिन सर्टिफिकेट बनाया जाता है ताकि "Full" मोड काम करे, और इंस्टॉलर के बाद के पुनः रन पर यह Let's Encrypt में अपग्रेड हो जाता है।
आप --behind-cloudflare के साथ इस मोड को बाध्य कर सकते हैं।
::: important Cloudflare में SSL/TLS मोड सेट करें Cloudflare में SSL/TLS › Overview पर जाएं और इंस्टॉलर द्वारा Let's Encrypt प्रमाणपत्र रिपोर्ट किए जाने के बाद Full (strict) चुनें। सेल्फ-साइंड ओरिजिन सर्टिफिकेट के साथ Full का उपयोग करें। Flexible के कारण रीडायरेक्ट लूप हो सकते हैं। :::
TIP
यदि "Always Use HTTPS" चालू है, तो Cloudflare आपके ओरिजिन के पोर्ट 443 पर सत्यापन अनुरोध भेजता है। इंस्टॉलर पहले अस्थायी सेल्फ-साइंड सर्टिफिकेट बनाकर और फिर Let's Encrypt का पुनः प्रयास करके इसे संभालता है।
जांच करें
bash
dig +short cloud.example.com # A record (a Cloudflare address in mode B)
curl -I https://cloud.example.com/healthz
sudo certbot certificates # certificate name, domains and expiryप्रमाणपत्र certbot के टाइमार के साथ स्वचालित रूप से नवीनीकृत होते हैं। नवीनीकरण webroot /var/www/nexcmp-acme का उपयोग करता है, इसलिए पोर्ट 80 को (प्रत्यक्ष रूप से या Cloudflare के माध्यम से) पहुंच योग्य रहना चाहिए।
सामान्य समस्याएं
| लक्षण | कारण | सुधार |
|---|---|---|
| इंस्टॉलर कहता है "DNS … does not point to … (nor to Cloudflare) — skipping nginx/TLS" | DNS रिकॉर्ड गायब है, गलत है या प्रचारित नहीं हुआ है | रिकॉर्ड ठीक करें, प्रचार की प्रतीक्षा करें, इंस्टॉलर को फिर से चलाएं। |
ब्राउज़र Cloudflare के पीछे ERR_TOO_MANY_REDIRECTS दिखाता है | SSL मोड Flexible है | Full (strict) (या Full) सेट करें। |
| Cloudflare त्रुटि 525/526 | ओरिजिन प्रमाणपत्र अस्वीकृत | सेल्फ-साइंड ओरिजिन सर्टिफिकेट के साथ Full का उपयोग करें, या Let's Encrypt के साथ Full (strict) का उपयोग करें। |
| लॉग में सभी आगंतुकों के Cloudflare IP दिखाई देते हैं | Cloudflare मोड में नहीं है | --behind-cloudflare के साथ इंस्टॉलर को फिर से चलाएं। |
अधिक जानकारी Installation errors में।