Во время работы на моем локальном компьютере я пытался загружать изображения (которые сразу же загружали их на сервер Amazon), но это вызывало у меня ошибку (ошибка RequestTimeTooSkewed с использованием класса PHP S3), я мог понять, что это проблема часового пояса и что S3 использует текущий часовой пояс для аутентификации запроса, нужно ли мне настраивать или изменять какую-либо конфигурацию на сервере EC2, чтобы иметь возможность загружать изображения локально?
Ошибка S3 RequestTimeTooSkewed из-за перекоса часов локального компьютера
Ответы (5)
Синхронизируйте часы с сервером времени NTP. Все современные ОС это поддерживают.
Где бы вы ни откуда загружали файлы, это компьютер, который необходимо синхронизировать.
sudo ntpdate 0.pool.ntp.org
- person plainjimbo; 07.08.2013
Проверьте синхронизацию времени на вашем экземпляре ec2. Из-за особенностей виртуальных машин часы могут смещаться со временем. S3 не разрешает запросы, отложенные более чем на несколько минут.
Запуск кода с виртуальной машины, пришлось сделать sudo ntpdate ntp.ubuntu.com
для синхронизации, и все заработало.
Перезапуск службы ntp обычно исправляет это:
sudo service ntpd restart
См. также: Как принудительно обновить часы с помощью ntp?
sudo ntpdate -s time.nist.gov
Это установит время ваших локальных машин на текущее время... вы можете изменить свой часовой пояс после того, как местное время будет правильным.