Ошибка S3: разница между временем запроса и текущим временем слишком велика

У меня ошибка разница между временем запроса и текущим временем слишком велика при вызове метода amazons3.ListObjects

ListObjectsRequest request = new ListObjectsRequest() {
    BucketName = BucketName, Prefix = fullKey 
}; 
using (ListObjectsResponse response = s3Client.ListObjects(request))
{
    bool result = response.S3Objects.Count > 0;

    return result;
}

что это может быть?

15 ответов


время на вашем локальном поле не синхронизировано с текущим временем. Синхронизировать ваши системные часы и проблема исчезнет.


для тех, кто использует Vagrant, a vagrant halt следовал по vagrant up работал для меня.


часы не синхронизированы.

я следовал шагам в этот пост чтобы заставить его работать снова, но также пришлось выполнить следующую команду.

sudo ntpdate ntp.ubuntu.com
sudo apt-get install ntp

Если в любое время вы получите сообщение о том, что сокет NTP все еще используется, остановите его с помощью sudo /etc/init.d/ntp stop и повторите команду.


У меня была такая же ошибка, и я использую Docker для Mac. Просто перезапуск Docker работал для меня.


в случае, если кто-нибудь найдет это с помощью Laravel и Homestead, просто работает

homestead halt

следовал по

homestead up

и вы хорошо идти снова.


для тех, кто использует Docker в Windows, попробуйте перезапустить Docker Engine в Setting - >Reset - >Restart Docker.


это правильно сбросить мои системные часы на OSX. S3 загрузки с помощью JS SDK теперь работает для меня в local dev

ntpdate us.pool.ntp.org

подробнее об этом здесь


чтобы избавиться от этой проблемы, вам нужно настроить время клиента так, чтобы была максимальная разница во времени до 15 минут. Также установлено стандартное время и зону для вашей системы.

Проверьте полную информацию здесь.


Если вы используете virtualbox, время в виртуальной машине синхронизируется со временем реальной машины. Просто зафиксируйте время в виртуальной машине, это не исправит проблему.


Если вы получите эту ошибку в windows выполните следующие действия, чтобы решить вашу проблему.. Изменение настройки местного времени: Шаг 1: нажмите на Изменить настройки даты и времени Шаг 2: из всплывающего окна даты и времени нажмите на Время Интернета Шаг 3: далее нажмите на кнопку Изменение Параметров Шаг 4: из выпадающего списка сервера выберите time-nw.nist.gov Шаг 5: нажмите на OK

перезагрузите консоль и проверьте. Это работает...


использование ntp может не работать на всех версиях вашего сервера на базе Linux (например, устаревшая версия сервера Ubuntu, которая больше не поддерживается, которая будет блокировать загрузку ntp, если она еще не установлена).

Если это ваша ситуация, вы можете установить независимые часовые пояса для вашей виртуальной машины Linux: https://community.rackspace.com/products/f/25/t/650

после этого Вам может потребоваться сбросить время / дату. Инструкции находятся в эта статья: http://codeghar.wordpress.com/2007/12/06/manage-time-in-ubuntu-through-command-line


Это также может быть вызвано использованием async / await с построением объекта запроса вне задачи и фактическим вызовом AWS внутри задачи. Если выполняется много задач, и задача не запланирована вовремя, или есть какая-то другая операция, задерживающая фактический вызов AWS, это исключение может быть вызвано.


Если u в 2016 году и в Стамбуле вот странная ситуация, что Турция решила не переключаться на стандарты зимнего времени в любом случае установить местный часовой пояс в Москву, то перезагрузите машину.


я столкнулся с этой проблемой, запустив Jet (Codeship) и Terraform на MacOS, используя Docker для Mac Beta channel 1.13.1-beta42.

Failed to read state: Error reloading remote state: RequestTimeTooSkewed: The difference between the request time and the current time is too large.
status code: 403, request id: 9D32BA2A5360FC18

Это было решено путем перезапуска Docker.


как уже говорили другие, ваши локальные часы не синхронизированы с AWS. вы можете синхронизировать его с серверами Amazon напрямую используя NTP так что вам не придется беспокоиться о дрейфе часов сейчас или в будущем.

Примечание: приведенные ниже инструкции предназначены для пользователей *nix. Я добавил комментарий о том, как вы можете это сделать в Windows, но как пользователь не Windows, я не могу проверить их точность.

  1. чтобы установить NTP, просто выберите один из следующих вариантов, в зависимости от вашего дистрибутива:

    apt-get install ntp
    

    или

    yum install ntp 
    

    etc.

  2. настройка NTP для использования серверов amazon, например:

    vim /etc/ntp.conf
    

    и в нем прокомментируйте серверы по умолчанию и добавьте их:

    server 0.amazon.pool.ntp.org iburst
    server 1.amazon.pool.ntp.org iburst
    server 2.amazon.pool.ntp.org iburst
    server 3.amazon.pool.ntp.org iburst
    

источник: https://www.allcloud.io/how-to/how-to-fix-amazon-s3-requesttimetooskewed/

и более общая статья о сохранении синхронизации вашего времени с NTP: https://www.digitalocean.com/community/tutorials/how-to-set-up-time-synchronization-on-ubuntu-12-04