试用安装包下载 | SMS | 在线演示
项目源码地址:https://github.com/openskeye/go-vss
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. 与业务时间的区别
数据库存储的录像计划、报警时间戳使用应用层时区。若仅改系统时区而未迁移历史数据,报表会看似「错位」。迁移时区需一次性脚本处理。
时间问题是隐蔽性最强的故障源之一;遇「无规律、全协议受影响」时优先对时。