如何处理Windows云服务器出现时间跳变问题
问题描述
Windows云服务器时间同步异常,系统时间跳变到未来的某一个时刻,影响业务运行。
可能原因
Windows操作系统的Secure time seeding功能可能会导致时间跳变,该功能在Windows 2016及之后版本的服务器上默认是开启的,当服务器和任何https服务器建立SSL connection的时候,在TLS交互过程中,SSL服务器会提供其当前系统时间信息, 客户端这边会将该信息写入到客户端本地, 默认存放于注册表中。服务器从某个SSL服务器那边拿到了一个有问题的时间戳,并将其缓存到注册表中, 导致服务器突然出现了异常的时间跳变问题。
处理方法
建议关闭Windows云服务器的Secure time seeding功能,关闭方案如下:
- 按“Win+R”键打开“运行”对话框,输入“regedit”并按回车键,打开注册表编辑器。
- 依次选择HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > W32Time > Config,检查UtilizeSslTimeData参数配置。
当值为“1”时默认打开,值为“0”时默认关闭。若值为“1”,请继续以下操作。
- 按“Win+R”键打开“运行”对话框,输入“cmd”并按回车键,打开cmd运行窗口。
- 执行以下命令,修改UtilizeSslTimeData取值为“0”。
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Config /v UtilizeSslTimeData /t REG_DWORD /d 0 /f
- 重启云服务器,使修改生效。
- 按“Win+R”键打开“运行”对话框,输入“regedit”并按回车键,打开注册表编辑器。
- 依次选择HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > W32Time > Config,检查UtilizeSslTimeData参数取值是否修改成功。