كان لدي سؤال حول رأس (header) الذي يتم استخدامه لتحديد المعدل. للسياق، لدينا ملف nginx.conf مع set_real_ip ونحن نستخدم مزودًا يرسل لنا حركة مرور بعنوان IP الفعلي للعميل في رأس Some-Client-IP.
هل يبحث Discourse عن X-Forwarded-For أو X-Real-IP لتحديد المعدل؟ أعتقد أنه يبحث عن X-Forwarded-For لأنه في ملف production.log أرى عنوان IP الخاص بالخادم الوكيل العكسي الخاص بي. هل الحل الصحيح هو تغيير X-Forwarded-For ليبحث أيضًا عن $remote_addr؟
هل أضفت هذه المقطوعة إلى ملف app.yml الخاص بك؟ يجب أن تكون هذه الإعدادات في NGINX الموجود داخل الحاوية. انظر أيضًا Set up Discourse on a server with existing Apache sites. هذا خاص بـ Apache، ولكن الجزء الذي يذهب إلى app.yml هو نفسه بغض النظر عما يقوم بالوكيل العكسي.
ليس لدينا HAProxy خارج الحاويات، لدينا مزود DNS يقوم ببعض المعالجة المسبقة لنا، لذا فإن real_ip_header موجود في قيمة رأس أخرى، ولدينا بالفعل قائمة بعناوين IP التي تحتاج إلى استبدال.
لدينا أيضًا قائمة بـ X-Forwarded-For، أتساءل عما إذا كان هذا هو السبب في ظهور عناوين IP الخاطئة.
على سبيل المثال، أعتقد أننا نرى 111.11.11.111 في سجلات الإنتاج، ولكن ليس 55.555.55.55 وهو ما نريده (حيث تم تعيينه في x-real-ip)