1

При подключении с помощью сервиса AWS, the connection time should be max 15 minutes for security reasons.AWS рассинхронизирован с Израилем время - вызывая ошибки безопасности

В этом году в Израиле, изменение зима часы откладывается примерно 2 месяца.

Амазонка, похоже, не знает об этом, поэтому, если правильное израильское время - 14:00, для амазонки - 13:00.

Эта ситуация вызывает каждый запрос на обслуживание на провал (S3 в частности)


  1. Вариант 1 является то, что амазонки фиксирует это, но это может занять некоторое время.

  2. Вариант 2 заключается в том, чтобы вручную изменить время на сервере, которое делает запросы .

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

Есть ли другой способ исправить это? как-то изменить время на сервере при подключении услуги amazon?

Я использую Джанго с Джанго-хранилищ (Boto) для соединения с S3

ответ

3

Если S3 не решить проблему, и вы не хотите, чтобы настроить время вашего сервера, вы могли бы компенсировать даты разницу, изменив исходный код boto (см. HmacAuthV1Handler->add_auth) или на monkey patching оригинальный код boto.

+0

как бы вы обезвредили код, чтобы исправить эту проблему? код будет отличным, но также будет указано руководство. – YardenST

+0

Просто перезапишите метод 'add_auth' в классе boto' HmacAuthV1Handler' (исходный код находится в 'auth.py') и отредактируйте код' headers ['Date'] = formatdate (usegmt = True) ', чтобы компенсировать разницу во времени. – dcro

1

Изменения в часовых поясах Израиля учитываются в версии 2013 года IANA time zone database. В Python это реализовано через pytz.

Согласно these docs, Django факультативно использует pytz. Вы должны поэтому:

  • Убедитесь, что вы являются с помощью pytz в Django.
  • Убедитесь, что у вас есть обновление до 2013 года для pytz.

Вы также должны поднять инцидент с поддержкой Amazon, если вы этого еще не сделали. Они действительно должны оставаться на вершине обновлений IANA TZDB в своих операционных системах.

1

@ YardenST: AWS должен знать только, что запрос был подписан вами с правильным преобразованием часового пояса на вашем конце. Программное обеспечение вашего сервера должно правильно обрабатывать преобразование часового пояса в UTC. Если вы не можете исправить время своего сервера, то dcro имеет правильную идею.

Matt Johnson сказал:

Вы должны также поднять поддержки инцидент с Amazon, если вы еще не сделали. Они действительно должны оставаться на вершине обновлений IANA TZDB в своих операционных системах.

Да, но YardenST никогда не говорил, что он запускал Amazon Linux на EC2. Если бы он был, то да, это было бы нужно. Но опять же, у вас есть root-доступ к серверам EC2, поэтому для обновления пакетов вам все еще остается проблема с пользовательской правкой.

+0

Я не использую EC2. при выяснении проблемы, я узнал, что мой сервер не возвращает правильное время GMT (date -utc), что, вероятно, вызывает ошибку, потому что это время, которое boto использует при отправке запросов на амазонку. – YardenST

Смежные вопросы