Работа с неточными системными часами

У меня есть система на базе Windows, которая находится на экземпляре Amazon EC2. Известная проблема состоит в том, что экземпляры Windows EC2 не могут синхронизировать системное время. Я случайным образом захожу в систему и обнаруживаю, что мои системные часы отключены от пары секунд (не такая уж большая проблема ...) до нескольких минут или даже часов (очевидно, большое дело).

Учитывая, что главная цель моего сайта - выпускать ссылки на защищенный контент S3, который заблокирован довольно жестким временным лимитом (то есть иногда всего от 30 секунд до минуты), это огромная проблема для меня. Просмотр справочных форумов Amazon дал много ответов, которые просто не работают, и Amazon, похоже, игнорирует проблему, утверждая, что она связана с Windows. Тем не менее, я решил взять дело в свои руки и не ждать на Amazon.

Я рассмотрел следующие моменты:

  • Создание службы, которая обращается к списку серверов времени примерно каждый час, получает текущее время, вычисляет смещение, а затем использует это смещение для создания точных ссылок. Недостатком является то, что мне нужно иметь значительный список серверов времени, чтобы они не мешали мне слишком часто использовать их. Кроме того, если время будет случайно зафиксировано в середине одного из этих периодов, мои ссылки снова начнут ломаться.
  • Создание экземпляра Linux EC2 и поиск способа получения его внутреннего времени. Я ничего не читал о том, насколько точно их время в EC2, но я должен предположить, что это лучше, чем эта ерунда.
  • Размещение моего сайта в другом месте с точными часами ...

Есть ли у вас другие варианты может думать о том, что я пропустил? Я не против чего-либо, за исключением того, что я переписываю свой сайт на другом языке, чтобы уйти от Windows (в настоящее время это приложение .Net MVC).

Заранее спасибо!

РЕДАКТИРОВАТЬ: Также из обратите внимание, я не могу использовать безопасность на основе реферера, поскольку плагины, которые я использую, которые используют эти ссылки, не на 100% отправляют реферер в некоторых браузерах.

5
задан jamesmillerio 2 July 2013 в 17:39
поделиться