لمستخدمي CloudFlare: كيفية استخدام حقول CF-* من رأس HTTP بدلاً من عنوان IP العادي؟

نظرًا لأن CloudFlare تُخفي عنوان IP الخاص بالزائر، سيكون من المفيد القدرة على التقاط حقول إضافية خاصة بـ CloudFlare مثل CF-Connecting-IP و X-Forwarded-For و CF-IPCountry من رأس HTTP الذي تدرجه، ثم الإبلاغ عنها مشروطًا ضمن صفحة Admin > Users > username بالإضافة إلى حقول IP (غير المفيدة مع CF) وزر بحث IP.

هل يمكنكم توفير هذه الحقول في هذه الصفحة عند توفر حقول الرأس CF-*؟

خيار واحد سيكون مفيدًا (وقد استخدمته في تطبيقات Rails أخرى) هو استخدام هذه الحقول بدلاً من عنوان IP إذا كانت متاحة. لقد مر وقت طويل منذ أن قمت بتطبيق ذلك، ولكن إذا كنت أتذكر بشكل صحيح، أعتقد أننا سنقوم فقط بتعيين عنوان IP للزائر إلى IP ما لم يكن CF-Connecting-IP موجودًا… لكنني اعتقدت أن هناك شيئًا آخر قمت به مع X-Forwarded-For

إذا كنت تستخدم قالب Cloudflare المقدم، فسيتم التعامل مع كل ذلك تلقائيًا. في الواقع، كان هذا متاحًا داخل Discourse منذ أربع أو خمس سنوات.

بافتراض أنك اتبعت التثبيت القياسي:

cd /var/discourse
nano containers/app.yml

ثم أضف هذا السطر تحت templates:

- "templates/cloudflare.template.yml"

ثم أعد البناء ببساطة:

./launcher rebuild app

وعندها سيظهر تثبيتك عناوين المستخدمين الحقيقية.

هذا رائع ستيفن، شكرًا لك! أمر بسيط لدرجة أنه ربما كان يجب أن يكون موجودًا هناك ومُعلقًا بشكل افتراضي أو موثق في مكان ما. على الأقل يمكن العثور عليه الآن عبر عمليات البحث عن “CloudFlare” هنا فيما يتعلق بهذا الأمر. لم يخطر ببالي أبدًا البحث في مجلد templates! :slight_smile: