настройка часового пояса между dokku, OS и S3

Я использую dokku для размещения приложения rails, которое использует гем aws-s3 SDK для загрузки файлов на S3. Когда я пытаюсь загрузить файл на сервер, в моих журналах появляется следующая ошибка:

Aws :: S3 :: Errors :: RequestTimeTooSkewed (разница между временем запроса и текущим временем слишком велика.):

Корзина S3 находится в us-east-1, в то время как часовой пояс на моем сервере установлен на часовой пояс Чикаго.

дата Mon Mar 21 23:33:33 CDT 2016

Когда я просматриваю журналы dokku, они показывают мне время в формате UTC:

2016-03-22T04: 28: 39.425196210Z prod [web.2]: I, [2016-03-22T04: 28: 39.422140 # 154] ИНФОРМАЦИЯ -: worker = 2 ready

Как синхронизировать время между dokku и ОС? Должна ли моя ОС синхронизироваться со временем S3? Если да, то сегментов S3 часового пояса Чикаго нет.

/ etc / часовой пояс

America/Chicago

/ etc / localtime имеет символическую ссылку на / usr / share / zoneinfo / America / Chicago


person ed1t    schedule 22.03.2016    source источник


Ответы (1)


Лучшая практика - установить все серверные часы в UTC, чтобы избежать некоторых особенностей преобразования времени, однако настройка часового пояса здесь не должна быть проблемой.

S3 не работает по местному времени для местоположения корзины. Он работает по всемирному координированному времени.

Если метки времени в формате UTC, которые вы видите, верны относительно системного времени, то установка часового пояса на сервере не имеет значения.

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

Убедитесь в этом.

person Michael - sqlbot    schedule 22.03.2016
comment
Мои журналы даты и dokku совпадают, но я все еще получаю сообщение об ошибке. Выполнено 500 внутренних ошибок сервера за -374738914 мсек. - person ed1t; 22.03.2016
comment
Сравните часы вашего сервера с фактическим правильным текущим временем. - person Michael - sqlbot; 22.03.2016
comment
Не уверен, что вы имеете в виду. Я сделал запрос своим приложениям rails, отслеживая журналы. Время, которое отображается в журналах, синхронизируется с выводом даты ОС. - person ed1t; 22.03.2016
comment
Верно, но я имею в виду перекрестную проверку часов ОС с помощью внешней ссылки, например time.gov. - person Michael - sqlbot; 22.03.2016
comment
Я исправил, выполнив следующие действия: sudo service ntp stop sudo ntpdate -s time.nist.gov sudo service ntp start - person ed1t; 22.03.2016