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


120

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

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

    return result;
}

Что это могло быть?

Ответы:


161

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


Это правильно. Выяснил из сообщения об ошибке. Если вам интересно, как узнать местное время на удаленном компьютере или в облаке, используйте Интернет, чтобы узнать текущее время. timeanddate.com :)
user_v

1
Я столкнулся с той же ошибкой. Подскажите пожалуйста, как выполнить синхронизацию
Стас

38
Я мечтаю о том дне, когда сообщения об ошибках будут более прямыми: «Время вашего сервера установлено неправильно» меня бы устроило.
adamdport 02

2
Настройка часового пояса не имеет значения. Важна точность текущего установленного времени.
Mark At Ramp51,

1
В Австралии мы только что перешли на летнее время (на 1 час вперед), и теперь возникает эта ошибка. Мои часы правильные. Кажется, это ошибка в AWS.
Люк


62

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

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

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

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


3
Спасибо! Работал как шарм. :)
NightMICU

Ура, это устранило мою проблему. Если у вас нет apt-get , используйте вместо него yum: sudo yum install ntp -y
Сёго Макишима

1
Работал. Однако мне нужно было запустить только sudo ntpdate ntp.ubuntu.comсвой сервер.
spnkr


15

Если кто-то обнаружит это с помощью Laravel и Homestead, просто запустите

homestead halt

с последующим

homestead up

И тебе хорошо снова идти.


15

Для тех, кто использует Docker в Windows, попробуйте перезапустить Docker Engine в Настройки-> Сброс-> Перезапустить Docker.


Это не ответ. Наверное, какой-нибудь комментарий.
hB0

8

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

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

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

    apt-get install ntp
    

    или

    yum install ntp 
    

    и т.п.

  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
    
  3. А затем перезапустите службу ntp:

    sudo service ntp restart
    

Источник: 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


C: \ Users \ User> apt-get install ntp 'apt-get' не распознается как внутренняя или внешняя команда, работающая программа или командный файл.
st78

1
apt-getэто установщик пакетов для некоторых дистрибутивов Linux. Для Windows вы можете выполнить поиск в Интернете, чтобы найти лучший способ синхронизации с NTP. Вот ссылка, которую я нашел для win10: tenforums.com/tutorials/… , а вот ссылка для Windows Server: support.microsoft.com/en-us/help/816042/…
Кайл Чадха


4

если эта проблема в вашем локальном хосте для Windows 10

установить время автоматически и установить часовой пояс автоматически, это решит мою проблему.

введите описание изображения здесь


3

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


2

Если вы получаете эту ошибку в Windows, выполните следующие действия, чтобы решить вашу проблему. Измените настройку местного времени:
шаг 1: нажмите на изменение настроек даты и времени
шаг 2: во всплывающем окне «Дата и время» нажмите на вкладку « Время в Интернете»,
шаг 3: далее Нажмите « Изменить настройки»,
шаг 4: в раскрывающемся списке «Сервер» выберите time.nist.gov или проверьте этот веб-сайт,
шаг 5: нажмите «ОК»

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


1

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

Ознакомьтесь с полной информацией здесь.


1

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


1

У меня была эта ошибка, потому что время и часовой пояс на моем локальном компьютере были установлены неправильно. Изменение их на правильное время и часовой пояс сработало для меня.


0

Использование 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


0

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


Думаю, это должен быть комментарий.
BlackVegetable 02

@BlackVegetable Я тоже думал, что это может быть комментарий, но дело в том, что если вы находитесь в ситуации, о которой я упоминал, и собираетесь следовать инструкциям в принятом ответе, она останется нерешенной; вот почему это ответ, предлагающий альтернативное решение.
Ömer Faruk Almalı

0

Я столкнулся с этой проблемой при запуске Jet (Codeship) и Terraform на MacOS с использованием канала Docker для Mac Beta 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.


0

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

Точно то же самое начало происходить год назад, 31 декабря 2017 года. В этом случае перезагрузка моей системы и перестройка моего сервера (который использует aws java sdk) исправили это. Не знаю почему. Я предположил, что AWS имеет некоторую особенность часового пояса на конец года. Также возможно, что пока я делал эти вещи, серверы времени AWS исправлялись сами. У меня нет возможности проверить эту гипотезу.

То же самое внезапно начало происходить 30 декабря 2018 года. Это не совсем подходит к концу года, но достаточно близко, чтобы показаться подозрительным. (Эта ошибка не возникала, кроме этих дат.) На этот раз перезагрузка и восстановление не помогают.

Моя среда разработки на этом компьютере - Windows 10 под управлением Parallels. Больше ничего в моей системе не изменилось - я дважды проверил, откатившись к предыдущим снимкам состояния Parallels. Часы на моем хосте MacOS и виртуальной Windows 10 правильные.

Я подозреваю ошибку AWS.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.