DNS وCloudflare
يحتاج NexCMP إلى اسم DNS واحد — وهو نطاقه الرئيسي — ويعمل بنمطين.
النمط A: يشير DNS مباشرة إلى الخادم
- أنشئ سجل A بقيمة
cloud.example.com → <server public IPv4>(وسجل AAAA إذا كان الخادم يدعم IPv6). - اختياري، إذا كنت تستخدمهما:
admin.cloud.example.comوpartner.cloud.example.comللإشارة إلى عنوان IP نفسه. - شغّل (أو أعد تشغيل) برنامج التثبيت. سيكتشف أن الاسم يشير إلى عنوان IP العام الخاص بالخادم، ويحصل على شهادة Let's Encrypt عبر تحدي HTTP-01 على المنفذ 80.
النمط B: النطاق ممرر عبر بروكسي Cloudflare
أنشئ السجلات نفسها مع تفعيل السحابة البرتقالية (Proxied). يكتشف برنامج التثبيت أن الاسم لا يُحل إلا إلى عناوين Cloudflare وينتقل تلقائياً إلى نمط Cloudflare:
- يظل nginx يستمع على المنفذين 80/443 على خادمك؛
- تتم قراءة عنوان IP الحقيقي للزائر من ترويسة
CF-Connecting-IP— فقط للاتصالات القادمة من نطاقات Cloudflare المعلنة، لمنع تزويره من قِبل أي طرف آخر؛ - يتم الحصول على الشهادة عبر Let's Encrypt (تقوم Cloudflare بتوجيه التحدي إلى خادمك الأصلي)؛ وإذا تعذر ذلك بعد، يتم إنشاء شهادة أصل موقعة ذاتياً ليعمل النمط "Full"، مع إمكانية الترقية إلى Let's Encrypt عند إعادة تشغيل برنامج التثبيت لاحقاً.
يمكنك فرض هذا النمط باستخدام --behind-cloudflare.
::: important تعيين نمط SSL/TLS في Cloudflare في Cloudflare، انتقل إلى SSL/TLS › Overview وحدد Full (strict) بمجرد أن يُفيد برنامج التثبيت بوجود شهادة Let's Encrypt. في حال استخدام شهادة أصلية موقعة ذاتياً، استخدم 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 مفقود أو غير صحيح أو لم يكتمل انتشاره | صحح السجل، وانتظر حتى يكتمل انتشاره، ثم أعد تشغيل برنامج التثبيت. |
يُظهر المتصفح ERR_TOO_MANY_REDIRECTS خلف Cloudflare | وضع SSL مضبوط على Flexible | اضبطه على Full (strict) (أو Full). |
| خطأ Cloudflare رقم 525/526 | تم رفض شهادة الخادم الأصلي | استخدم Full مع شهادة أصلية موقعة ذاتياً، أو Full (strict) مع Let's Encrypt. |
| تظهر عناوين IP الخاصة بـ Cloudflare فقط لجميع الزوار في السجلات | ليس في وضع Cloudflare | أعد تشغيل برنامج التثبيت باستخدام --behind-cloudflare. |
المزيد في أخطاء التثبيت.