تلف ملفات تعريف الارتباط في المتصفح (?) بعد هجرة الموقع على Azure

مرحبًا،

لقد قمت بنقل منصة Discourse من استضافة Vultur إلى Azure، داخل نظام CentOS Linux. سار الترحيل بسلاسة، باستخدام عملية النسخ الاحتياطي والاستعادة المدمجة في قاعدة البيانات. ثم قمنا بتفويض DNS.

يواجه بعض المستخدمين (بما في ذلك أنا في إحدى المرات) خطأ 500 مع رمز وجه حزين عند تحميل /latest.json. في جميع الحالات، يؤدي مسح ملفات تعريف الارتباط/جلساتك إلى حل المشكلة… لكنه يبدو أنه يعود بعد نصف ساعة تقريبًا.

كما تمكنت بصفتي مديرًا من رؤية أنه أثناء الخطأ في قسم الإعدادات، لم يتم تحليل أزواج المفاتيح والقيم لملصقات الإعدادات المختلفة إلى لغة محلية؛ على سبيل المثال، تم عرض “اللغة الافتراضية” كشيء مثل “[en.default_locale]”.

أنا لست خبيرًا في Linux أو Discourse، لذا لا أعرف إلى أين أذهب مع هذه المشكلة. قد تكون الأمور “تستقر” بعد ترحيل DNS، أو قد يكون هناك شيء آخر يحدث.

لم يتم الإبلاغ عن المشكلة حتى الآن إلا على متصفح Chrome لنظام Windows. لا يمكنني تكرارها على Edge أو Chrome لنظام Android.

عند النظر في السجلات (/logs)، أرى مدخلات مثل ما يلي:

استثناء في المهمة: PG::InvalidTextRepresentation: خطأ: صيغة إدخال غير صالحة لنوع inet: "106.70.36.109:6082" السطر 1: UPDATE "users" SET "ip_address" = '106.70.36.109:6082' WHERE...

أي نصيحة ستكون موضع تقدير.

سيمون

هذه مشكلة معروفة في Azure، مع بعض الحلول البديلة موضحة هنا

هل تقصد Chromium Edge أم Legacy Edge؟

لقد توصلنا إلى نفس الاستنتاج، وكان ذلك صحيحًا. كان Appgw يرسل عناوين IP الداخلية الخاصة به بدلاً من عناوين IP الخاصة بالمستخدمين، وعلى الأرجح كان نظام الحماية من الفيضانات في Nginx يتدخل. وقد أدى تحديث تكوينات Nginx إلى حل المشكلة.