系統時間不對導致連不上:TLS 握手失敗排查
延遲測得出來,日誌裡卻反覆出現握手相關的報錯,而且換哪個節點都一樣——先看一眼右下角的時鐘。TLS 證書帶有生效時間和過期時間,本機時間偏差超過幾分鐘,握手就會被判為證書無效。
症狀特徵
- 所有 Trojan、VMess over TLS、Hysteria 節點全軍覆沒,而不帶 TLS 的 Shadowsocks 節點卻正常;
- 關掉代理直接用瀏覽器訪問網站,也提示「您的連線不是私密連線」或證書錯誤;
- 剛重灌系統、剛換過主機板電池、或者裝了雙系統的機器上特別容易出現。
修復步驟
- 設定 → 時間和語言 → 日期和時間,開啟「自動設定時間」,再點一次「立即同步」;
- 同步按鈕點了沒反應,就換時間伺服器:控制面板 → 日期和時間 → Internet 時間 → 更改設定,把伺服器改成
ntp.aliyun.com或time.windows.com之外的其他地址; - 順便確認時區沒選錯。時區錯了會整整差幾個小時,比幾分鐘的偏差更致命;
- 雙系統使用者注意:Windows 預設認為硬體時鐘是本地時間,Linux 預設認為是 UTC,兩邊不一致就會每次切換都偏 8 小時。選一邊改成和另一邊一致即可。
時間修正是立即生效的,不用重啟客戶端,但已經建立的連線要斷開重連——去 Connections 頁面全部關閉,再重新測一次延遲。