我有一个基于Windows的系统,它位于Amazon EC2实例上。存在一个已知问题,即Windows EC2实例在保持系统时间同步方面存在问题。我将随机登录系统,发现我的系统时钟距离几秒钟(不是太大的交易......)到几分钟甚至几小时(显然是一笔巨大的交易)。
考虑到我的网站的主要目标是发布安全的S3内容的链接,这些内容被严格的时间限制(即有时只需30秒到一分钟)锁定,这对我来说是个大问题。淘宝亚马逊的帮助论坛已经产生了许多答案,这些答案根本不起作用,亚马逊似乎忽略了声称它与Windows相关的问题。无论如何,我决定把事情掌握在自己手中,而不是在亚马逊上等待。
我考虑过的事情:
您可能会想到我可能错过的其他选项吗?我并没有真正反对任何事情,只有一个例外是用另一种语言重写我的网站以便远离Windows(目前它是.Net MVC应用程序)。
提前致谢!
编辑:另外值得注意的是,我不能使用基于referrer的安全性作为我正在使用的插件,使用这些链接并不是100%在某些浏览器中发送引用者。
答案 0 :(得分:3)
奇怪的是,您的服务器应该漂移几个小时。默认情况下,Windows Server 2008 R2配置为每隔900秒(15分钟)使用time.windows.com对其时钟进行NTP同步。如果这不能达到您所要求的及时性,您可以increase the frequency by modifying a registry key。
如果您要托管ASP.NET应用程序,则应考虑在AppHarbor上运行它。我们运行在EC2之上,但是带走了沉闷的服务器管理任务,例如确保时钟同步。
答案 1 :(得分:0)
如果您选择这样做,可以尝试在Windows实例或Linux实例上制作应用程序,并且每当您需要知道时间是什么时,请向这样的地方发送api请求:http://worldtimeengine.com/api/获得当前的当地时间。
如果您不能依赖实例的时钟,那么从其他地方获取时间:)
答案 2 :(得分:0)
我几周来一直处理同样的问题,发现问题的根源很简单:
确保您的网络ACL允许入站UDP流量。
答案 3 :(得分:0)
将互联网时间服务器更改为 " time.nist.gov",它纠正了时间。