Hi Discourse community!
Am I correct to assume that IP Lookup gets the last IP from the X-Forwarded-For header? Cloudfront seems to be attaching their IP at the end.
How would we modify nginx to remove the last IP in the X-Forwarded-For header? We were hoping to get the client IP to prevent spammers.
Could anyone please provide help / guidance?
Cheers
Just wanted to check if anyone else has a workaround for something like this?
pfaffman
(Jay Pfaffman)
4
Isambard
(Isambard)
5
لقد واجهت هذه المشكلة للتو مع Cloudflare عندما قمت بتشغيل الوكيل الخاص بهم.
لقد قمت بإصلاحها عن طريق تغيير إعدادات Nginx. عليك العثور على جميع عناوين IP للوكيل ولكل منها في قسم http:
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
...
ثم يمكنك تعيين عنوان IP الحقيقي من الرأس الذي يمرره Cloudflare:
real_ip_header CF-Connecting-IP;
نظرًا لأن عناوين IP للوكيل يمكن أن تتغير، سأحتاج إلى أتمتة سحبها وتحديثها.
ثم أعد تحميل/أعد تشغيل nginx باستخدام:
sv nginx reload أو sv nginx restart
آه. أتمنى لو كنت قد رأيت هذا المنشور في وقت سابق! لقد أمضيت للتو ساعة اليوم في إعادة إنشاء شيء كان موجودًا بالفعل: علامة وكيل X-Forwarded-For غير معترف بها بواسطة Discourse؟:
إعجابَين (2)
riking
(Kane York)
6
أوصي بالتبديل إلى الحل المدمج، لأنه سيقوم بتحديث قائمة عناوين IP تلقائيًا من Cloudflare عند إعادة بناء الموقع!
3 إعجابات
Isambard
(Isambard)
7
من الأفضل على الأرجح تعيين مهمة مجدولة (cron job) للتحقق بانتظام بدلاً من الاعتماد على إعادة البناء.
pfaffman
(Jay Pfaffman)
8
Isambard
(Isambard)
9
2 years is actually more frequently than I assumed.
However, the check is so simple that doing it once per day is no problem. Hopefully, they update the list a few days before new IP ranges go active.