عند نشر Discourse باستخدام حاويات 1panel وإنشاء موقع ويب عبر وكيل عكسي، ثم استخدام نطاق مع CDN من Cloudflare، كيف يمكن حل مشكلة ظهور جميع حركة المرور قادمة من خوادم Cloudflare بدلاً من عناوين IP الخاصة بمتصفحات المستخدمين؟
تريد استخدام قالب Cloudflare في ملف app.yml الخاص بك.
جربته، لكنه لا يعمل
. قد يكون سبب الفشل هو أنني قمت بنشره باستخدام حاويات 1panel واستخدمت وكيلًا عكسيًا؟
هل يمكنك تعديل ملف تكوين nginx مباشرة؟ إذا كان الأمر كذلك، قم بإجراء التغييرات المقترحة هنا. وبعد إعادة تحميل خدمة nginx، يجب أن يعمل الأمر الآن. نأمل أن يكون هذا مفيدًا!
هل أنت فضولي بشأن أسباب تشغيل وكيلين عكسيين؟ أحدهما لدى شركة الاستضافة والآخر CloudFlare. هل هناك سبب تقني؟
لقد قمت بنشر Discourse باستخدام حاويات عبر لوحة إدارة الخادم 1panel (مفتوحة المصدر) لتسهيل إدارة الخادم.
بنية 1Panel هي: المستخدم -> Cloudflare -> 1Panel Nginx -> حاوية Discourse.
فهمي هو أنه حتى لو تم تعديل ملف app.yml الخاص بـ Discourse، فإن Nginx في 1Panel يظل يعمل كوسيط بين Cloudflare و Discourse.
إذًا، هذا قيد فني أدخلته منصة 1panel.
هل تشغّل خوادم متعددة أم فقط Discourse على الخادم الافتراضي الخاص بك (VPS)؟ إذا كنت تشغّل Discourse فقط، فربما لا تحتاج إلى 1panel. ما لم يكن هناك سبب فني يجعلك بحاجة إلى 1panel.
نسخة Discourse الخاصة بي تعمل بشكل أصلي على خادم افتراضي خلف Cloudflare. هذا الإعداد يعمل بنجاح.
بصرف النظر عن discourse، هناك أيضًا openclaw ![]()
بكل تأكيد تقريبًا.
هل عنوان IP الذي تراه هو عنوان IP الخاص بحاوية 1panel؟
عند استخدام المشرف لعرض المستخدم، يظهر عنوان IP الأخير المستخدم كعنوان IP الخاص بـ Cloudflare.
هل قمت بتطبيق هذا؟
هذه هي الطريقة لإصلاح Apache لاستخدام عنوان IP الخاص بالمستخدم النهائي بدلاً من عنوان IP الخاص بـ Cloudflare.
شكرًا لك، أنا أستخدم nginx، وقد راجعت بعض الدروس التي تتعلق بإعداد ملف تكوين nginx للمضيف كوكيل عكسي، وسأجرب ذلك عندما يتاح لي الوقت.
هل قمت بتثبيت قالب Cloudflare كما هو مقترح؟ إذا لم تكن قد فعلت ذلك، فلماذا تطلب المساعدة هنا؟
قالب Cloudflare؟ لقد قمت بتعديل ملف التكوين yml وقمت بتفعيل قالب Cloudflare، لكنني قمت بنشر Discourse عبر حاويات في 1Panel (بنية 1Panel هي: المستخدم → Cloudflare → 1Panel Nginx → حاوية Discourse). مجرد تعديل ملف yml لا يكفي؛ يجب أيضًا تعديل ملف التكوين الخاص بالوكيل العكسي NGINX داخل 1Panel. ليس لدي وقت حاليًا، ولم أبدأ في التعديل بعد.
يبدو أنك بحاجة إلى تعديل مثيل nginx في 1Panel لاستخدام وظيفة real_ip لطلبات المستخدمين. يرسل Cloudflare هذه المعلومات عبر رأس CF-Connecting-IP، ويمكنك استخدام هذا الرأس لـ إخبار nginx بما يجب أن يفعله بنفسه.
من المرجح أن يكون من المفيد بناء أتمتة قائمة على السكريبتات لتحميل قوائم عناوين الوكلاء الخاصة بـ Cloudflare بانتظام (IPv4، IPv6) للحفاظ على نطاقات real_ip في nginx محدثة.
إذا لم يكن لديك وصول إلى ملف nginx.conf في 1Panel، فمن المحتمل أن تكون الأمور صعبة. تُعد ميزة real_ip في nginx مع رأس CF-Connecting-IP الخاص بـ Cloudflare هي الطريقة المخصصة لحل هذه المشكلة إذا كنت تدير وكيل عكسي خاص بك أمام Discourse المستضاف ذاتيًا.