اليوم جربت إضافة خادم ثانٍ لاستضافة إحدى نسخ discourse الخاصة بنا. تم تكوين الحاوية لاستخدام خوادم Redis وPostgres والتخزين الخارجية - فهي مخصصة لتطبيق الويب فقط. حتى الآن، كنا ندير مواقع الخادم الواحد خلف HAProxy دون مشاكل. عند التشغيل بخادمين خلف HAProxy، نلاحظ العديد من أخطاء 404 من nginx لملفات JavaScript. إزالة أي من الخادمين من HAProxy توقف المشكلة. تبدو عناوين URL للملفات التي تظهر فيها أخطاء 404 متطابقة، لذا فأنا حائر حول سبب عدم تقديمها من قبل أي من الخادمين.
لا توجد أي تعديلات في إعدادات المطور. نحن نعمل بالإصدار المستقر 2.4.3.
إلى جانب إضافة وإزالة الخوادم الخلفية في Haproxy، ما الإجراءات التي اتخذتها لاختبار ذلك؟
هل يقوم تكوين Haproxy الخاص بك بتوزيع الطلبات عشوائيًا على الخوادم الخلفية أم يضمن التوجيه بناءً على الارتباط (affinity)؟ هل يتم تسجيل خطأ 404 بواسطة Haproxy؟ أم بواسطة nginx؟ هل الخادم الخاطئ هو الأول أم الثاني؟ هل يتطلب موقعك تسجيل الدخول؟ هل يمكنك تكرار الأخطاء عند الاتصال بـ nginx مباشرةً من خلف خادم الوكيل؟ هل الملفات المطلوبة موجودة فعليًا على القرص؟ هل المشكلة تشمل جميع ملفات JS أم فقط ملفات محددة؟