الخلاصة: تحقّق من وقت المتصفح قبل تغيير المنطقة الزمنية لنظام Linux
كانت حالة CasaOS الأولى متأخرة بست ساعات، رغم أن وقت مضيف Linux كان صحيحًا. والسبب هو سلوك الخصوصية في LibreWolf: فقد كشف المتصفح عن UTC، كما عرضت لوحة معلومات CasaOS وقت متصفح العميل. ولم يكن تغيير timedatectl ليحل المشكلة، بل كان من الممكن أن يعطّل السجلات أو المهام المجدولة أو الشهادات التي كانت صحيحة بالفعل.
قارن بين وقت المضيف ووقت المتصفح جنبًا إلى جنب
على مضيف CasaOS:
date
timedatectl
في وحدة تحكم المتصفح:
new Date().toString()
Intl.DateTimeFormat().resolvedOptions().timeZone
إذا أظهر Linux الوقت المحلي الصحيح، بينما حدّد المتصفح المنطقة الزمنية على أنها UTC أو منطقة أخرى، فالمشكلة في لوحة المعلومات من جهة العميل. تشرح صفحة MDN آلية تعامل JavaScript مع التواريخ أن عرض التواريخ في JavaScript يستخدم بيئة المضيف أو المتصفح.
يمكن لمتصفحات الخصوصية الإبلاغ عن UTC عمدًا
يمكن لميزات مقاومة البصمة في متصفحات عائلة Firefox تقليل تفرد المنطقة الزمنية عبر عرض قيم موحّدة. ويرث LibreWolf العديد من إعدادات الخصوصية الافتراضية ويعزّزها. وإذا كانت CasaOS تستخدم وقت JavaScript من جهة العميل، فقد تعرض متصفحات مختلفة على الكمبيوتر نفسه ساعات مختلفة في لوحة المعلومات.
تُعد صفحة مقاومة البصمة في Firefox من Mozilla المفهوم ذا الصلة من جهة المتصفح. اختبر CasaOS في ملف تعريف عادي للمتصفح قبل تغيير إعدادات الخادم.
كان هناك أيضًا خلل منفصل في عرض CasaOS 1.4.1
أبلغ مستخدم لاحقًا عن نمط مختلف: ظهر الوقت الصحيح لفترة وجيزة بعد التحديث، ثم استبدلته لوحة المعلومات بوقت GMT رغم صحة إعدادات المتصفح. وقالت IceWhale إن هذه المشكلة المحددة ستُصلح في الإصدار 1.4.2. لا تدمج هاتين الحالتين في تشخيص واحد. كانت إحداهما ناتجة عن خصوصية المتصفح، بينما كانت الأخرى تراجعًا في لوحة معلومات CasaOS.
لا تغيّر timedatectl إلا عندما يكون وقت الخادم خاطئًا فعلًا
إذا أظهر timedatectl منطقة زمنية أو حالة مزامنة خاطئة، فأصلح المضيف:
sudo timedatectl set-timezone Region/City
sudo timedatectl set-ntp true
timedatectl
تحدّد عناصر التحكم في وقت النظام الخاصة بـ systemd هذه الأوامر. لا تضبط ساعة العتاد على إزاحة محلية عشوائية لمجرد أن أداة ويب تعرض وقتًا خاطئًا.
لماذا يهم الوقت الصحيح فيما يتجاوز ساعة لوحة المعلومات؟
يؤثر وقت الخادم في صلاحية شهادات TLS، والسجلات، ومؤقتات cron وsystemd، والطوابع الزمنية لقواعد البيانات. إذا كان المضيف نفسه خاطئًا، فقد يعرض HTTPS الشهادة على أنها منتهية أو لم تصبح صالحة بعد. وتفيد شهادات HTTPS في ZimaOS عندما تبدأ مشكلة ساعة تبدو تجميلية في تعطيل الوصول الآمن إلى الويب.
استخدم اختبارًا للوقت من ثلاث طبقات
عندما تكون ساعة لوحة المعلومات خاطئة، افحص: ساعة الخادم ← ساعة المتصفح ← عرض التطبيق. غيّر الطبقة الخاطئة فقط. ويمنع ذلك تحوّل خلل في المنطقة الزمنية للواجهة الأمامية إلى تغيير في إعدادات الخادم بأكمله.
إذا نقلت العتاد نفسه لاحقًا من CasaOS إلى ZimaOS، فتوفر فحوصات تثبيت ZimaOS خط الأساس الحالي لاستعادة المنصة.
ما الذي يجب تسجيله لتكرار خلل الوقت؟
سجّل إصدار CasaOS، وتوزيعة Linux، والمتصفح وإصداره، ونتيجة date على الخادم، ونتيجة timedatectl، ومخرجات المنطقة الزمنية في المتصفح، ولقطة شاشة للوحة المعلومات. فالإبلاغ بعبارة «متقدم بست ساعات» فقط لا يكفي للتمييز بين سلوك خصوصية UTC وخلل في التطبيق.
تحقّق من وقت الحاوية فقط عندما يكون أحد التطبيقات خاطئًا بينما CasaOS صحيح
ترث حاويات Docker عادةً ساعة نواة المضيف، لكن قد ينسّق التطبيق الطوابع الزمنية باستخدام متغير بيئة خاص بالمنطقة الزمنية مثل TZ. إذا كانت لوحة معلومات CasaOS صحيحة بينما يتأخر أحد تطبيقات قواعد البيانات أو الأتمتة أو الوسائط عدة ساعات، فتحقّق من بيئة الحاوية وإعدادات التطبيق بدلًا من تغيير المضيف بأكمله. قارن نتيجة date على المضيف مع docker exec CONTAINER date، ثم تحقّق من المنطقة الزمنية المضبوطة في التطبيق. وبذلك تمنع مشكلة عرض على مستوى تطبيق واحد من التحول إلى تغيير في ساعة الخادم بأكمله.
الأسئلة الشائعة
لماذا يتقدم CasaOS عدة ساعات بالضبط؟
إذا تطابقت الإزاحة مع الفرق بين UTC والوقت المحلي، فقارن المنطقة الزمنية التي أبلغ عنها المتصفح بالمنطقة الزمنية لمضيف Linux قبل تغيير الخادم.
هل يمكن لـ LibreWolf أن يجعل CasaOS يعرض UTC؟
نعم، يمكن لسلوك الخصوصية ومقاومة البصمة تغيير معلومات المنطقة الزمنية التي تراها تطبيقات الويب.
هل ينبغي أن تستخدم ساعة الوقت الحقيقي RTC التوقيت المحلي؟
تعمل خوادم Linux عادةً بصورة سليمة مع ضبط RTC على UTC، وتطبّق المنطقة الزمنية المكوّنة عند العرض. لا تغيّر RTC لمجرد إصلاح أداة ساعة في لوحة ويب.
لماذا يظهر الوقت الصحيح لفترة وجيزة ثم يتغير إلى GMT؟
قد يشير هذا النمط إلى خلل في تطبيق الواجهة الأمامية يستبدل الوقت المعروض أوليًا، كما ورد في CasaOS 1.4.1.
هل يمكن لوقت الخادم الخاطئ أن يعطّل SSL؟
نعم. يعتمد التحقق من الشهادات على دقة ساعة النظام، لذا أصلح NTP والمنطقة الزمنية للمضيف عندما يكون الخادم نفسه خاطئًا.
