处理我有一个在Amazon EC2实例坐在一个基于Windows的系统。存在一个已知问题,即Windows EC2实例在保持系统时间同步方面存在问题。我将随机登录到系统中,并发现我的系统时钟是任何地方从一对夫妇秒掉(不算什么大不了的事......)到几分钟甚至几小时关闭(显然是一个巨大的交易)。有不准确的系统时钟
考虑到我的网站的主要目标是发布链接到受到相当严格的时间限制(即有时只需30秒到一分钟)锁定的安全S3内容,这对我来说是一个巨大的问题。淘宝亚马逊的帮助论坛已经取得了很多答案,根本行不通,亚马逊似乎忽略了声称与Windows相关的问题。无论如何,我决定把事情掌握在自己手中,而不是等亚马逊。
事情我已经考虑:
- 创建击中每隔一小时时间服务器列表的服务,所以,获取当前时间,计算偏移,然后使用这个偏移量,以产生精确链接。缺点是我需要有大量的时间服务器,以防止他们经常打他们。另外,如果时间在这些时段中的某个时段被随机固定,我的链接将再次开始打破。
- 创建Linux EC2实例和查找得到其内部时的一些方法。我没有看到他们的时间在EC2内有多准确,但我不得不认为这个废话更好。
- 托管我的网站的其他地方有精确的时钟...
是否有你能想到的任何其他选项我可能错过了什么?我并没有真正反对任何有一个例外情况,即用另一种语言重写我的网站,以便从Windows中移出(目前它是一个.Net MVC应用程序)。
在此先感谢!
编辑:另外值得注意的是,我不能使用基于引用的安全,因为我使用的是使用这些链接不100%发送引用在一些浏览器插件。
正如许多所描述的答案,你应该专注于纠正时间,而不是接受错误的价值。许多与安全有关的设计(如Kerberos等)都是时间敏感的,并且可以主动突破自我来警告你时间不对。当然,故障排除对于揭示原因非常重要,https://msdn.microsoft.com/zh-cn/library/bb727060.aspx –