Skeyevss FAQ:系统时间、NTP 与信令过期
1. 问题现象
间歇性全平台注册失败、digest 校验随机失败、证书校验错误、录像起止时间偏移;日志中出现 nonce expired、401 循环。
2. SIP Digest 与时间的关系
Digest 认证中的 nonce、有时效性的挑战串,依赖 双方时钟大致同步。若服务器时间比设备快/慢超过阈值,设备用本地时间计算的响应可能被判定无效,表现为 偶发 401。
3. TLS 与 JWT(若启用)
HTTPS、服务间 mTLS、用户登录 token 均对 时钟偏移 敏感。常见阈值为数分钟级;虚拟机快照恢复后时间跳变会导致 整站登录失效。
4. 容器与宿主机
Docker/K8s 中容器默认继承宿主机时间,但:
- 宿主机未配 NTP 会逐渐漂移;
- 部分环境禁止容器改时间,需在 宿主机或编排层 统一校时。
5. 推荐实践
- 所有业务节点启用 chrony 或
systemd-timesyncd指向同一可靠 NTP 源; - 监控 offset 指标,超过 1s 告警;
- 重大变更后执行
timedatectl status确认NTP synchronized: yes。
6. 与业务时间的区别
数据库存储的录像计划、报警时间戳使用 应用层时区。若仅改系统时区而未迁移历史数据,报表会看似「错位」。迁移时区需一次性脚本处理。
时间问题是 隐蔽性最强 的故障源之一;遇「无规律、全协议受影响」时优先对时。