我在亚马逊EC2实例的Tomcat上部署了Java应用程序。它对用户登录使用OpenID身份验证。已经持续了8-9个月了。但是,当ec2实例运行超过一个月时,用户就不能再登录了。原因是OpenID验证包括比较从OpenID提供程序发送响应的时间和本地时间(不应超过60秒)。
但是,我的EC2实例出现了系统时间错误。每次重新启动实例时,我都将其配置为同步系统时间,但随着时间的推移,它会提前于原子时间。例如,我15天前重新启动了服务器,今天,它提前了27秒。
有人经历过这个问题吗?除了偶尔重新启动服务器之外,还有其他解决方案吗?
谢谢,
佐兰
发布于 2015-06-25 06:12:14
虚拟机本质上可以在一段时间内造成与主机的时间差。这是虚拟机中最常见的问题之一。
有几种解决方案,我首先要尝试的是*使用NTP服务器*来同步时间。在这种情况下它应该对你有帮助。
http://www.vmware.com/files/pdf/Timekeeping-In-VirtualMachines.pdf这篇由vmware编写的白皮书讨论了其他可能的解决方案,但如果您还没有NTP服务器,我将从NTP服务器开始。
https://stackoverflow.com/questions/31042379
复制相似问题