وكيل عكسي X-Forwarded-For

قمت مؤخرًا بنقل منتداي إلى مضيف أكثر أداءً بكثير، وأنا أعمل على تحقيق التوفر العالي.

في وكيل العكسي، أضفت رؤوس Forward Proto و For، لكن تكوين nginx على Discourse احترم Proto فقط.

كان عليّ إضافة ما يلي تحت server:

set_real_ip_from loadbalancerip;
real_ip_header X-Forwarded-For;

هل توجد متغيرات بيئة في Discourse لإضافة هذه الإعدادات؟
أو ربما حجة يمكن إضافتها إلى app.yml؟

أعتقد أن هذا هو ما تبحث عنه:

لا، يشرح هذا الدليل كيفية إعداد مأخذ (socket) لـ nginx يتم مشاركته بين الحاوية والمضيف.

أنا أحاول العثور على طريقة تصريحية لتضمين:

set_real_ip_from loadbalancerip;
real_ip_header X-Forwarded-For;

في إعدادات nginx داخل الحاويات بعد إعادة البناء.

هل تحاول إضافة هذا إلى nginx الداخلي للحاوية؟ أعتقد أن هذا غير ضروري لأنه يُضاف افتراضيًا:

هذه السطر ضروري لكي يعمل ذلك. بدونه، تظل جميع الطلبات تحمل عنوان IP الخاص بموازن الحمل. أعرف ذلك لأن منصة Discourse الخاصة بي توقفت عن العمل بسبب أخطاء 429.

في حال لم يكن الأمر واضحًا، هذه هي البنية التحتية لدي:
مستخدم > haproxy > discourse

بالطبع، تتضمن منصة Discourse خادم nginx الوكيل العكسي.

لقد أضفت رؤوس التحويل في haproxy، لكن خادم nginx الداخلي في Discourse لم يكن يحترم عنوان IP المصدر (forwarded for). اضطررت لإضافة سطرين في منشوري الأصلي وإعادة تشغيل الحاوية لكي يعمل الأمر.