In sintesi: controlla l’ora del browser prima di cambiare il fuso orario di Linux
Nel primo caso di CasaOS, l’ora risultava sfasata di sei ore anche se quella dell’host Linux era corretta. Il motivo era il comportamento relativo alla privacy di LibreWolf: il browser esponeva UTC e il pannello di CasaOS mostrava l’ora del browser client. Modificare timedatectl non avrebbe risolto il problema e avrebbe potuto compromettere log, attività pianificate o certificati che erano già corretti.
Confronta l’ora dell’host e quella del browser affiancate
Sull’host CasaOS:
date
timedatectl
Nella console del browser:
new Date().toString()
Intl.DateTimeFormat().resolvedOptions().timeZone
Se Linux mostra l’ora locale corretta ma il browser identifica UTC o un altro fuso orario, il problema del pannello è lato client. Il comportamento di JavaScript Date documentato da MDN spiega che la visualizzazione delle date JavaScript utilizza l’ambiente dell’host e del browser.
I browser orientati alla privacy possono riportare deliberatamente UTC
Le funzioni anti-fingerprinting della famiglia Firefox possono ridurre l’unicità del fuso orario esponendo valori standardizzati. LibreWolf eredita e rafforza molte impostazioni predefinite per la privacy. Se CasaOS utilizza l’ora JavaScript lato client, due browser sullo stesso computer possono quindi mostrare orologi diversi nel pannello.
Il concetto rilevante lato browser è l’anti-fingerprinting di Firefox di Mozilla. Prova CasaOS con un profilo del browser normale prima di modificare la configurazione del server.
Esisteva anche un bug separato di visualizzazione in CasaOS 1.4.1
In seguito, un utente ha segnalato un comportamento diverso: dopo l’aggiornamento, l’ora corretta appariva brevemente, poi il pannello la sostituiva con GMT anche se le impostazioni del browser erano corrette. IceWhale ha dichiarato che quello specifico problema sarebbe stato risolto nella versione 1.4.2. Non confondere questi due casi nella diagnosi. Uno riguardava la privacy del browser; l’altro era una regressione del pannello di CasaOS.
Modifica timedatectl solo quando l’ora del server è effettivamente errata
Se timedatectl mostra un fuso orario o uno stato di sincronizzazione errato, correggi l’host:
sudo timedatectl set-timezone Region/City
sudo timedatectl set-ntp true
timedatectl
I controlli dell’ora di sistema di systemd definiscono questi comandi. Non impostare l’orologio hardware su un offset locale casuale solo perché un widget web mostra un’ora errata.
Perché l’ora corretta è importante anche oltre l’orologio del pannello
L’ora del server influisce sulla validità dei certificati TLS, sui log, sui timer di cron/systemd e sui timestamp dei database. Se l’host è errato, HTTPS potrebbe segnalare un certificato come scaduto o non ancora valido. La pagina sui certificati HTTPS di ZimaOS è utile quando un problema apparentemente estetico dell’orologio inizia a compromettere l’accesso web sicuro.
Usa un test dell’ora su tre livelli
Quando l’orologio di un pannello è errato, controlla: orologio del server → orologio del browser → visualizzazione dell’applicazione. Modifica solo il livello errato. In questo modo eviti che un bug del fuso orario del frontend diventi una modifica alla configurazione dell’intero server.
Se in seguito trasferisci lo stesso hardware da CasaOS a ZimaOS, i controlli di installazione di ZimaOS forniscono la base aggiornata per il ripristino della piattaforma.
Cosa raccogliere per un bug dell’ora riproducibile
Annota la versione di CasaOS, la distribuzione Linux, il browser e la relativa versione, l’output di date sul server, l’output di timedatectl, il fuso orario restituito dal browser e uno screenshot del pannello. Una segnalazione che dice semplicemente “è avanti di sei ore” non è sufficiente per distinguere il comportamento di privacy UTC da una regressione dell’applicazione.
Controlla l’ora del container solo quando un’app è errata ma CasaOS è corretto
I container Docker normalmente ereditano l’orologio del kernel dell’host, ma un’applicazione può comunque formattare i timestamp usando una propria variabile d’ambiente del fuso orario, come TZ. Se il pannello di CasaOS è corretto mentre un database, un’app di automazione o un’app multimediale mostra un’ora sfasata di diverse ore, controlla l’ambiente e le impostazioni dell’applicazione di quel container invece di modificare l’intero host. Confronta date sull’host con docker exec CONTAINER date, quindi controlla il fuso orario configurato nell’applicazione. In questo modo eviti che un problema di visualizzazione a livello di singola app diventi una modifica dell’orologio dell’intero server.
Domande frequenti
Perché CasaOS è avanti di esattamente diverse ore?
Se lo scarto corrisponde alla differenza tra UTC e l’ora locale, confronta il fuso orario riportato dal browser con quello dell’host Linux prima di modificare il server.
LibreWolf può far visualizzare UTC a CasaOS?
Sì, il comportamento relativo alla privacy e all’anti-fingerprinting può modificare le informazioni sul fuso orario visibili alle applicazioni web.
L’RTC dovrebbe usare l’ora locale?
I server Linux normalmente funzionano correttamente con l’RTC impostato su UTC e applicano il fuso orario configurato per la visualizzazione. Non modificare l’RTC solo per correggere un widget del pannello web.
Perché l’ora corretta appare brevemente e poi cambia in GMT?
Questo comportamento può indicare un bug dell’applicazione frontend che sovrascrive l’ora visualizzata inizialmente, come segnalato in CasaOS 1.4.1.
L’ora errata del server può compromettere SSL?
Sì. La validazione dei certificati dipende da un orologio di sistema preciso, quindi correggi NTP e il fuso orario dell’host quando il server è effettivamente errato.
